■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C#, C♯, C#相談室 Part93©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 1e06-m8Mb)
2017/04/22(土) 08:52:00.93ID:iVvswOrb0829デフォルトの名無しさん (ワッチョイ 01ea-+wPc)
2018/12/12(水) 14:05:59.54ID:35krN4020 VRChatでスクリプトとして使われているしな
830デフォルトの名無しさん (ワッチョイ d9e3-1aIk)
2018/12/12(水) 14:43:30.92ID:RRyKxOPE0 確かに、VRまで含めれば説明が付く気はするんだよ。
使う人の人数は作る人の人数より100倍程度は居るのが普通だから。
ただ、GooglePlayに登録されているアプリ数が本当に250万本もあるかどうか、
そのまま信じていいかについては注意すべき。
そもそも250万種類の一覧表をテキストファイルで見られるかどうか。
旧 nifty serve なんかも、「シェアウェアは儲かる」と言ってパソコン通信
加入者を増やそうとしたらしい。その際、「秀丸エディタ」が1億円の売り上げ
がある、とされたが、その作者が富士通社員だったことは公然の秘密。
使う人の人数は作る人の人数より100倍程度は居るのが普通だから。
ただ、GooglePlayに登録されているアプリ数が本当に250万本もあるかどうか、
そのまま信じていいかについては注意すべき。
そもそも250万種類の一覧表をテキストファイルで見られるかどうか。
旧 nifty serve なんかも、「シェアウェアは儲かる」と言ってパソコン通信
加入者を増やそうとしたらしい。その際、「秀丸エディタ」が1億円の売り上げ
がある、とされたが、その作者が富士通社員だったことは公然の秘密。
831デフォルトの名無しさん (ワッチョイ 81fb-UTrk)
2018/12/12(水) 14:50:38.86ID:4WsM1r+i0 >>830
レコード数250万のDBなんてざらにあるぞ
レコード数250万のDBなんてざらにあるぞ
832デフォルトの名無しさん (ワッチョイ d9e3-1aIk)
2018/12/12(水) 14:55:46.58ID:RRyKxOPE0 >>831
そういう意味じゃなくって、GooglePlay から、全てアプリが載った一覧表を一度に
ダウンロードできるのかってこと。
検索するだけだったら、本当に250万種類もあるかは誰にも分からないじゃない
かと。
そういう意味じゃなくって、GooglePlay から、全てアプリが載った一覧表を一度に
ダウンロードできるのかってこと。
検索するだけだったら、本当に250万種類もあるかは誰にも分からないじゃない
かと。
833デフォルトの名無しさん (ワッチョイ 4b23-VgPf)
2018/12/12(水) 14:59:31.85ID:Gas9nc7W0 で?
としか言いようがないな
としか言いようがないな
834デフォルトの名無しさん (スフッ Sdb3-lulS)
2018/12/12(水) 16:21:36.71ID:YkPnkG/ad Twitterにでも書いてろ
835デフォルトの名無しさん (スププ Sdb3-OBga)
2018/12/12(水) 16:52:49.38ID:3f3X1OW4d 儲かってると思うけどな。Unity。
18万円はProだろ。
Enterpriseは別だよ。
18万円はProだろ。
Enterpriseは別だよ。
836デフォルトの名無しさん (スップ Sdf3-wOqU)
2018/12/12(水) 20:04:55.15ID:fYjPqF3od ダウンロードできるか?ってできるだろ
1レコードがMB単位でデータあるんか?
1レコード1KBで2.5GB
最近のゲームなんて10GB超えのダウンロード当たり前みたいなとこあるじゃん
250万行のテキストはあんま開きたくはないが
1レコードがMB単位でデータあるんか?
1レコード1KBで2.5GB
最近のゲームなんて10GB超えのダウンロード当たり前みたいなとこあるじゃん
250万行のテキストはあんま開きたくはないが
837デフォルトの名無しさん (スップ Sdf3-wOqU)
2018/12/12(水) 20:09:07.70ID:fYjPqF3od なんの根拠もない空想だけどゲームとVRの比率、VRが10%とかじゃない?
もちろん両方もそれなりにいるだろうけど
それでVRまで含めれば説明がつく、って意味がわからん
もちろん両方もそれなりにいるだろうけど
それでVRまで含めれば説明がつく、って意味がわからん
838デフォルトの名無しさん (スププ Sdb3-OBga)
2018/12/12(水) 20:16:58.44ID:3f3X1OW4d あんまり詳しくは言えないけど、VR以外にも使ってるものもあるし、エンタープライズだとお値段時価だし、
企業ユースでは数人のチームなんてのはあり得なくて結構な人数分揃えるからね。
CADと連携したりなんやかんやで、ゲーム開発より金はかかるから、プロダクトの割合とは一致しないよ。
企業ユースでは数人のチームなんてのはあり得なくて結構な人数分揃えるからね。
CADと連携したりなんやかんやで、ゲーム開発より金はかかるから、プロダクトの割合とは一致しないよ。
839デフォルトの名無しさん (ワッチョイ 2b9a-e5Zh)
2018/12/12(水) 20:31:17.51ID:kvTCOjS80 Unity用のスレはあるからそっちでやれよ
VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】
https://mevius.5ch.net/test/read.cgi/tech/1478142101/
数レスならともかく赤いのまでいるし
VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】
https://mevius.5ch.net/test/read.cgi/tech/1478142101/
数レスならともかく赤いのまでいるし
840デフォルトの名無しさん (ワッチョイ 7917-Po2/)
2018/12/12(水) 21:46:33.67ID:Lm9ykMW+0 先月も変なのが沸いてたけど同一人物だな
841デフォルトの名無しさん (ワッチョイ 06b5-t2lu)
2018/12/14(金) 16:44:56.02ID:nWTWWp6e0 質問いいでしょうか
webapiにて
var task = Task.Factory.StartNew
これで重い処理をバックグラウンドで処理させています。
このtask開始時にDBにProcessThread.IdとProcessThread.StartTimeを落として
別のwebapiでDBに落としたIdとStartTimeを使って
GetCurrentProcess().Threadsを検索して定期的に生きてるかのチェックを行っています。
これがけっこう不安定みたいで、バックグラウンドの処理が終わる前に
ProcessThreadが検索できなくなる場合があります。
最初にStartNewさせた際のProcessThreadが生きてる正しい確認方法はないでしょうか?
ブラウザを閉じた場合を考慮してProcessThreadで確認を行いたいです。
webapiにて
var task = Task.Factory.StartNew
これで重い処理をバックグラウンドで処理させています。
このtask開始時にDBにProcessThread.IdとProcessThread.StartTimeを落として
別のwebapiでDBに落としたIdとStartTimeを使って
GetCurrentProcess().Threadsを検索して定期的に生きてるかのチェックを行っています。
これがけっこう不安定みたいで、バックグラウンドの処理が終わる前に
ProcessThreadが検索できなくなる場合があります。
最初にStartNewさせた際のProcessThreadが生きてる正しい確認方法はないでしょうか?
ブラウザを閉じた場合を考慮してProcessThreadで確認を行いたいです。
842デフォルトの名無しさん (ワッチョイ 06b5-t2lu)
2018/12/14(金) 17:44:35.68ID:nWTWWp6e0 すいません。
変な質問ですね。
var taskを見るのではなく、その他の方法で
バックグラウンド処理が動いてるかの確認が行いたいです。
変な質問ですね。
var taskを見るのではなく、その他の方法で
バックグラウンド処理が動いてるかの確認が行いたいです。
843デフォルトの名無しさん (ワッチョイ 06b5-t2lu)
2018/12/14(金) 18:14:11.54ID:nWTWWp6e0 すいません。
自己解決です。
static public Task wkTaskを宣言しておいて
wkTask= Task.Factory.StartNewで作成したあと、ブラウザを閉じて
開き直してもwkTaskは生きてますね。
スレ汚しすいませんでした。
自己解決です。
static public Task wkTaskを宣言しておいて
wkTask= Task.Factory.StartNewで作成したあと、ブラウザを閉じて
開き直してもwkTaskは生きてますね。
スレ汚しすいませんでした。
844デフォルトの名無しさん (ワッチョイ 1e81-xYYD)
2018/12/14(金) 21:29:27.54ID:OUs3lGdw0 自己解決できるやつは偉いぞ
845デフォルトの名無しさん (ワッチョイ 868a-UKyl)
2018/12/15(土) 02:43:07.58ID:LeOuIFUL0846デフォルトの名無しさん (ワッチョイ 0a9d-8alI)
2018/12/15(土) 16:24:19.51ID:U8VjJ+lV0 ブラウザ閉じて開いて、サーバの同じスレッドに接続して同じタスク拾う保証どうやってるんだ
847デフォルトの名無しさん (ワッチョイ c5e4-SLRh)
2018/12/26(水) 11:49:06.15ID:yRPOvGGU0 Action.Invokeでvoidと比べてstatic voidの方が遅いのってC#7だと改善されたの?
848デフォルトの名無しさん (ブーイモ MMcb-OkZ1)
2019/01/09(水) 13:31:28.35ID:C73LM3okM javaのtry-with-resouceみたいにusing書けるようにしてくれないかな
どうしてもネスト深くなるの辛い
どうしてもネスト深くなるの辛い
849デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 15:23:40.58ID:c4aAB3Aqd >>848
C#8.0
C#8.0
850デフォルトの名無しさん (ワッチョイ ae02-HdPi)
2019/02/10(日) 17:55:21.67ID:Y+0FbWW50 メソッドへのオブジェクト引数で、参照渡し(refをつける)、とオブジェクトの値渡し(refなしの値渡し。つまり、ポインター(アドレス)渡し)の違いがわかりません。
同じと思ってますが・・・・・。事実は違うようです。参照だと渡し元も変更される、っていう違いは分かります。
それ以外の違いはあるんでしょうか?
同じと思ってますが・・・・・。事実は違うようです。参照だと渡し元も変更される、っていう違いは分かります。
それ以外の違いはあるんでしょうか?
851デフォルトの名無しさん (ワッチョイ 6e63-ngHK)
2019/02/10(日) 18:14:21.76ID:vpLDyodj0852デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/10(日) 18:17:54.37ID:Mw20IJUM0 refだと渡し元が変更されるって十分な違いだろ
どうあって欲しいんだよ一体
どうあって欲しいんだよ一体
853デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/10(日) 18:43:21.99ID:vOpxNkmL0 >>850
ここらへんを見てみればいいかと
https://dobon.net/vb/dotnet/beginner/byvalbyref.html#section3
かんたんに言うとどっちでも渡されたオブジェクトの中身は変えられるけど、ref付けないと新しいオブジェクトを設定して呼び出し元に返せないってこと
ここらへんを見てみればいいかと
https://dobon.net/vb/dotnet/beginner/byvalbyref.html#section3
かんたんに言うとどっちでも渡されたオブジェクトの中身は変えられるけど、ref付けないと新しいオブジェクトを設定して呼び出し元に返せないってこと
854デフォルトの名無しさん (ワッチョイ 4690-Bwin)
2019/02/10(日) 18:57:09.81ID:ynO2ssbq0 参照値でも、refつけない値渡しとref付ける参照渡しできる。
で、参照値以外の値...とりあえず非参照値と呼ぶと
非参照値でも、refつけない値渡しとref付ける参照渡しできる。
全部で4パターンあるってこと 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
で、参照値以外の値...とりあえず非参照値と呼ぶと
非参照値でも、refつけない値渡しとref付ける参照渡しできる。
全部で4パターンあるってこと 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
855デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/10(日) 19:18:44.11ID:zgWWffC0a >>850
簡単なので難しく考えてはだめ。すごくシンプルな話。
その型の値(その型の変数に格納される値)を渡すのが値渡し。
その型の変数の「場所」を渡すのが参照渡し。
さらっと書いたけど、「その型の値 = その型の変数に格納される値」なのはよく理解する必要がある。
つまり、参照型の変数に格納される値って何だったか要再考。
変数とはメモリ上に割り当てられた特定の領域のこと。
だからその領域のバイト列のコピーを渡すのが値渡しで、
領域の先頭アドレスを渡すのが参照渡しだと思えばいい。
参照渡しでメソッドが受け取る情報は「変数の」場所なので、参照渡しの引数に
リテラルや式を渡すことは出来ない。
簡単なので難しく考えてはだめ。すごくシンプルな話。
その型の値(その型の変数に格納される値)を渡すのが値渡し。
その型の変数の「場所」を渡すのが参照渡し。
さらっと書いたけど、「その型の値 = その型の変数に格納される値」なのはよく理解する必要がある。
つまり、参照型の変数に格納される値って何だったか要再考。
変数とはメモリ上に割り当てられた特定の領域のこと。
だからその領域のバイト列のコピーを渡すのが値渡しで、
領域の先頭アドレスを渡すのが参照渡しだと思えばいい。
参照渡しでメソッドが受け取る情報は「変数の」場所なので、参照渡しの引数に
リテラルや式を渡すことは出来ない。
856デフォルトの名無しさん (ワッチョイ 6ea5-sQyl)
2019/02/10(日) 19:59:44.58ID:xbk//Ba50 多分だけど参照渡しと値渡しの挙動自体は理解しているものの、
デフォ参照型とデフォ値型の区別がついておらずにデフォ参照型で実験をしてrefでも素渡しでも変わらないやんってことじゃないか
デフォ参照型とデフォ値型の区別がついておらずにデフォ参照型で実験をしてrefでも素渡しでも変わらないやんってことじゃないか
857デフォルトの名無しさん (アウアウエー Sa0a-GpEI)
2019/02/10(日) 20:36:28.11ID:3Dzzkr73a tuple使えるならrefは忘れていいと思う
858デフォルトの名無しさん (アウアウウー Sa05-/WZR)
2019/02/10(日) 20:53:04.89ID:OiPWe/iEa TryParseみたいなのだと成否と値がtupleで返って来てもifの中でめんどい
859デフォルトの名無しさん (ワッチョイ 8261-feI+)
2019/02/10(日) 21:03:14.46ID:c1xIq/Nm0 メソッド内で中身を変更するって理由で参照型のもref渡ししてるのみてイラッとしたことはある。イランヤン
860デフォルトの名無しさん (ワッチョイ 0287-OuIk)
2019/02/11(月) 08:03:59.18ID:RCleUAyA0 それVB6からの移植とかじゃない?
オフショアが移植したコードがそんなんばっかし
オフショアが移植したコードがそんなんばっかし
861デフォルトの名無しさん (アウアウウー Sa05-5nvV)
2019/02/11(月) 15:02:26.65ID:RVSdpjZja ref の使いどころってライブラリから複数の返値欲しい時だから
他の手段使えるならそっちでいいわな
未初期化変数指定できんのも地味にイラッと来るし
他の手段使えるならそっちでいいわな
未初期化変数指定できんのも地味にイラッと来るし
862デフォルトの名無しさん (ワッチョイ a1e7-FtKs)
2019/02/11(月) 15:22:08.28ID:xSGeZZ3R0 >>861
そういう場合はrefではなくoutを使う
そういう場合はrefではなくoutを使う
863デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/11(月) 15:23:06.12ID:MkFOBvt90864デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/11(月) 15:23:27.15ID:MkFOBvt90 被った…
865デフォルトの名無しさん (アウアウエー Sa0a-GpEI)
2019/02/11(月) 16:36:40.92ID:2icS/4sTa 引数いじるの好きじゃないわ
返り値だけで判別させて
返り値だけで判別させて
866デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/11(月) 16:54:38.75ID:I8dqqL3E0 まあ参照型はoutの制約で十分かつ安全なのでrefはほぼ出番ないんじゃねえのん
Swap関数を定義する時くらしか適切な例が思い付かねえ
Swap関数を定義する時くらしか適切な例が思い付かねえ
867デフォルトの名無しさん (ワッチョイ 4690-Bwin)
2019/02/11(月) 18:26:18.92ID:2ERt5pT00 そのswapがな、MVVMでお決まりのBindableBaseなりのSetPropertyでプロパティの値交換するときに使いまくりで、
androidでもMVVM使いまくってるけどrefないkotlinやjavaでやると...
androidでもMVVM使いまくってるけどrefないkotlinやjavaでやると...
868デフォルトの名無しさん (ワッチョイ 822f-Y3YF)
2019/02/12(火) 19:50:18.92ID:u96ReIy/0 プロパティの値交換するときってのが想像つかんが
どういうときにそれを使いまくるんだ?
どういうときにそれを使いまくるんだ?
869デフォルトの名無しさん (ワントンキン MM52-5dzK)
2019/02/12(火) 21:01:30.06ID:KFZGfstbM プロパティの値をソートする時じゃね?(適当)
870デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/12(火) 23:51:08.44ID:HQcd2HqP0 BindableBase SetPropertyとかでぐぐってみれ
有り体に言えば自身のプロパティ(のバックストア)を差し替えるジェネリックメソッドを基底クラスで定義するのに使うだけ
有り体に言えば自身のプロパティ(のバックストア)を差し替えるジェネリックメソッドを基底クラスで定義するのに使うだけ
871デフォルトの名無しさん (ワッチョイ f901-OF6d)
2019/02/13(水) 00:40:04.33ID:6JezjdzR0 WPFとかUWPとか使ってればBindableBaseのありがたさはよくわかる
関係ないけどstaticメソッドって呼び出すときにいちいちインスタンスを生成する必要がないって以外のメリットあるのかな?
関係ないけどstaticメソッドって呼び出すときにいちいちインスタンスを生成する必要がないって以外のメリットあるのかな?
872デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/13(水) 01:53:30.80ID:sK/raQIQa >>871
まあメリットって発想がそもそもおかしい。
例えばDouble.Parseがstaticなのはその方が意味的に自然だから
インスタンスメソッドである必然性がないし、インスタンスメソッドでは不自然だから
まあメリットって発想がそもそもおかしい。
例えばDouble.Parseがstaticなのはその方が意味的に自然だから
インスタンスメソッドである必然性がないし、インスタンスメソッドでは不自然だから
873デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/13(水) 04:15:53.43ID:VGvE+KfY0 >>871
パフォーマンス
パフォーマンス
874デフォルトの名無しさん (アウアウエー Sa1f-6KQX)
2019/02/14(木) 21:00:36.96ID:YtWtNE43a dictionaryとかのcollection系が手抜きなのなんで?
特にdictionaryとか拡張必須だし
割とc#好きだけどこれはほんとアカン
特にdictionaryとか拡張必須だし
割とc#好きだけどこれはほんとアカン
875デフォルトの名無しさん (スッップ Sd7f-/Qxi)
2019/02/14(木) 22:13:27.13ID:qKlS4dB9d >>874
何がどうあかんのか具体的に
何がどうあかんのか具体的に
876デフォルトの名無しさん (ワッチョイ a7da-MZ+k)
2019/02/14(木) 22:45:20.23ID:tlcLfILV0 テンプレート系はデータが増えればC++にでも勝てるのに
何が問題?
何が問題?
877デフォルトの名無しさん (ワッチョイ bf90-pQCL)
2019/02/15(金) 00:22:49.50ID:dIP2EtTm0 Collection系はJavaの方がしっかりしてるよね。
878デフォルトの名無しさん (ワッチョイ 7f63-v083)
2019/02/15(金) 00:39:22.49ID:2WeUN81J0 >>877
Javaは何が違うん?
Javaは何が違うん?
879デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/15(金) 03:04:36.23ID:l1U6kYAka Queue以外は不満持ったことないね
880デフォルトの名無しさん (ラクッペ MM3b-dufs)
2019/02/15(金) 21:54:02.82ID:kAPwBxa3M queueは空っぽの時取り出そうとすると落ちやがるの許せん勝田
今はTryあるからいいけど
今はTryあるからいいけど
881デフォルトの名無しさん (アウアウカー Sa5b-KHu+)
2019/02/15(金) 22:47:38.37ID:izkrr7dEa いやチェックしとけよそこは
882デフォルトの名無しさん (ワッチョイ 5f01-3Kdw)
2019/02/16(土) 08:41:04.77ID:q1DAaOKG0 例外が発生することを落ちるって表現する男の人って…
883デフォルトの名無しさん (ワッチョイ c701-cT+3)
2019/02/16(土) 10:36:35.40ID:8cj+4+Hl0 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて
とりあえずcatch(Exception e)とかしちゃってるけど本来はこんなのダメだよな……
とりあえずcatch(Exception e)とかしちゃってるけど本来はこんなのダメだよな……
884デフォルトの名無しさん (ワッチョイ 87f2-yQ/S)
2019/02/16(土) 11:09:50.80ID:mveZudXk0 別にいいと思うぞ。下位の呼び出しのどこかで失敗したということに対して適切に処置するなら。
885デフォルトの名無しさん (ワッチョイ a761-yQ/S)
2019/02/16(土) 12:03:59.89ID:mmBt6tnL0 >>883
例外は握りつぶしてこそ華
例外は握りつぶしてこそ華
886デフォルトの名無しさん (ワッチョイ 47e3-yQ/S)
2019/02/16(土) 12:43:39.03ID:LCZTEEhT0 catch(Exception e){
887デフォルトの名無しさん (ワッチョイ 5f01-3Kdw)
2019/02/16(土) 13:08:53.78ID:q1DAaOKG0 >>883
> 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて
投げる方で悩むのはわかるけど
> とりあえずcatch(Exception e)とかしちゃってる
受ける方はどれ受けるべきかはわかってるでしょ
最終手段としてよくわからんけどエラーが発生したから終了するね
って言うならcatch(Exception e)もありだと思うが
> 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて
投げる方で悩むのはわかるけど
> とりあえずcatch(Exception e)とかしちゃってる
受ける方はどれ受けるべきかはわかってるでしょ
最終手段としてよくわからんけどエラーが発生したから終了するね
って言うならcatch(Exception e)もありだと思うが
888デフォルトの名無しさん (ワッチョイ 87f2-yQ/S)
2019/02/16(土) 13:37:31.27ID:mveZudXk0 終了というのがプログラムの終了のことなら逆にcatchしちゃだめだろう。
889デフォルトの名無しさん (ワッチョイ 7f7b-uWgP)
2019/02/16(土) 14:43:51.47ID:NIO8UzEI0890デフォルトの名無しさん (ワッチョイ 7f63-v083)
2019/02/16(土) 15:01:00.34ID:NEtPpdWW0 例外はありえない事態なんだからプログラム終了しなきゃまずいだろう
891デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/16(土) 15:02:54.74ID:PR5Tb5Rba892デフォルトの名無しさん (オイコラミネオ MMdb-XSOg)
2019/02/16(土) 15:03:48.09ID:uy2P96bkM 最近部活の後輩が黒魔術みたいなコードを書くようになって困ってるんだが対策ない?
こんな感じのコードを後輩が書いてくるんだよ↓
public interface IMessenger {
__public MessageReceived();
}
public abstract class Messenger : IMessenger{
__public abstract void MessageReceived();
__public abstract void Retry();
}
こんな感じのコードを後輩が書いてくるんだよ↓
public interface IMessenger {
__public MessageReceived();
}
public abstract class Messenger : IMessenger{
__public abstract void MessageReceived();
__public abstract void Retry();
}
893デフォルトの名無しさん (オイコラミネオ MMdb-XSOg)
2019/02/16(土) 15:04:05.72ID:uy2P96bkM public class Mail : Messenger {
__public override void MessageReceived(){
____//処理
__}
__public override void Retry(){
____//処理
__}
}
public class Alarm : Messenger {
__public override void MessageReceived(){
____//処理
__}
__public override void Retry(){
____//処理
__}
}
public class Communication {
__public void SendMessage(IMesssenger message){
____SendMessage(message);
__}
__public void Received(){
____var received = GetMessage() as IMessage;
____received?.MessageReceived();
__}
}
__public override void MessageReceived(){
____//処理
__}
__public override void Retry(){
____//処理
__}
}
public class Alarm : Messenger {
__public override void MessageReceived(){
____//処理
__}
__public override void Retry(){
____//処理
__}
}
public class Communication {
__public void SendMessage(IMesssenger message){
____SendMessage(message);
__}
__public void Received(){
____var received = GetMessage() as IMessage;
____received?.MessageReceived();
__}
}
894デフォルトの名無しさん (オイコラミネオ MMdb-XSOg)
2019/02/16(土) 15:04:31.94ID:uy2P96bkM こんなんだったから
public class Communication{
__public void SendMessage(string message){
____SendMessage(message);
__}
__public void Received(){
____var received = GetMessage();
______switch(received.First()){
_______case "0":
_________MailEvent(received);
_________break;
_______case "1":
_________AlermEvent(received);
_________break
____}
__}
}
こんな感じで書くように矯正しといた
CSVで2文字で分けるって言ってるんだから
何が起こってるかわかるように書くことを意識してもらわないと
public class Communication{
__public void SendMessage(string message){
____SendMessage(message);
__}
__public void Received(){
____var received = GetMessage();
______switch(received.First()){
_______case "0":
_________MailEvent(received);
_________break;
_______case "1":
_________AlermEvent(received);
_________break
____}
__}
}
こんな感じで書くように矯正しといた
CSVで2文字で分けるって言ってるんだから
何が起こってるかわかるように書くことを意識してもらわないと
895デフォルトの名無しさん (ワッチョイ c701-cT+3)
2019/02/16(土) 15:06:36.58ID:8cj+4+Hl0 まあ例外でプログラムは終了させるべきだよな
ただ客は例外が起きてもcatchで握りつぶしてスルーした方が文句言わないんだよな……
ただ客は例外が起きてもcatchで握りつぶしてスルーした方が文句言わないんだよな……
896デフォルトの名無しさん (アウアウウー Sa4b-mBMX)
2019/02/16(土) 15:14:21.65ID:auHH3gBua897デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/16(土) 15:19:24.61ID:PR5Tb5Rba898デフォルトの名無しさん (ワッチョイ 5f01-3Kdw)
2019/02/16(土) 15:41:54.82ID:q1DAaOKG0899デフォルトの名無しさん (ワッチョイ ff79-dufs)
2019/02/16(土) 22:53:53.99ID:gbHoDgK/0900デフォルトの名無しさん (ワッチョイ a7da-MZ+k)
2019/02/17(日) 00:48:25.53ID:0sFVNd3o0 宗教戦争を見物now
901デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)
2019/02/17(日) 14:42:24.50ID:QIeMqQFm0 byte*からbyte[]にする方法ってない?
new byte[64];みたいに新規確保してコピーしか方法ないんだろうか
Unsafe.As等で新規確保無しで出来るかと思って色々試してみたけど上手くいかない
new byte[64];みたいに新規確保してコピーしか方法ないんだろうか
Unsafe.As等で新規確保無しで出来るかと思って色々試してみたけど上手くいかない
902デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/17(日) 15:01:42.36ID:99sHKv96a 「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
全然別の型なんだしあるわけないでしょう。
そういう危なっかしい機能を排除してるのがC#の売りの一つだったはずなわけで
コピーする機能ならMarshalあたりにあるんじゃない?
全然別の型なんだしあるわけないでしょう。
そういう危なっかしい機能を排除してるのがC#の売りの一つだったはずなわけで
コピーする機能ならMarshalあたりにあるんじゃない?
903デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)
2019/02/17(日) 15:16:25.11ID:QIeMqQFm0 >>902
>「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
そういうことです
あるわけないと言いますが、その逆はあるので出来るかなと思い
(byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能)
>「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
そういうことです
あるわけないと言いますが、その逆はあるので出来るかなと思い
(byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能)
904デフォルトの名無しさん (ワッチョイ 275f-8zyB)
2019/02/17(日) 15:21:31.28ID:Ox4HquXb0905デフォルトの名無しさん (ワッチョイ a70c-yQ/S)
2019/02/17(日) 15:23:52.52ID:UNDanSNQ0 その逆がマネージドじゃ難しいからね
無理じゃないかなあ
やっぱこれからはSpanですよスパンスパン
無理じゃないかなあ
やっぱこれからはSpanですよスパンスパン
906デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)
2019/02/17(日) 15:27:09.29ID:QIeMqQFm0 >>904
public struct MyStruct { public int Value1, Value2, Value3, Value4 };
byte[] data = new byte[16] { 1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0 };
ref var myStruct = ref Unsafe.As<byte, MyStruct>(ref data[0]);
これでmyStruct .Value1は1、myStruct .Value2は2, myStruct .Value3は3, myStruct .Value4は4と余計なコピー無しに直接読み書きできる
byte[]からclassの場合はFieldOffset指定して各フィールドを4バイト後ろにづらないと出来ないから実用は難しいけど一応可能
public struct MyStruct { public int Value1, Value2, Value3, Value4 };
byte[] data = new byte[16] { 1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0 };
ref var myStruct = ref Unsafe.As<byte, MyStruct>(ref data[0]);
これでmyStruct .Value1は1、myStruct .Value2は2, myStruct .Value3は3, myStruct .Value4は4と余計なコピー無しに直接読み書きできる
byte[]からclassの場合はFieldOffset指定して各フィールドを4バイト後ろにづらないと出来ないから実用は難しいけど一応可能
907デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)
2019/02/17(日) 15:31:55.60ID:QIeMqQFm0 fixed (byte* ptr = &data[0]) *(MyStruct*)ptr;
と大体同じではあります
と大体同じではあります
908デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)
2019/02/17(日) 15:40:47.44ID:QIeMqQFm0 やっぱりこういうことやりたければC++に池ってことなのでしょうか
記憶力悪いのでVSがC#ほど助けてくれないC++に行くのは億劫なため質問させてもらいました
記憶力悪いのでVSがC#ほど助けてくれないC++に行くのは億劫なため質問させてもらいました
909デフォルトの名無しさん (アウアウウー Sa4b-dufs)
2019/02/17(日) 16:16:49.38ID:rf6p5Xt1a Span使え
910デフォルトの名無しさん (ワッチョイ df32-A2tD)
2019/02/17(日) 16:27:59.23ID:tKx1WgvG0 byte[]も参照型だからね、オブジェクトヘッダが付いてなければ扱えない
Span<T>でなければ、具体的なシナリオにも依るけど元からbyte[]で作って
TypeHandleとlengthのsizeof(IntPtr)*2分ずらした所を使い回す方が賢明
結局fiexdと一緒な訳だが、P/Invokeならbyte[]渡してもゼロコピーの筈だし
abstract class Union<T> where T : struct {
internal readonly IntPtr length;
public T Value;
}
みたいなオレオレ実装をILキャストした事もあったな…後はSafeBufferとか
Span<T>でなければ、具体的なシナリオにも依るけど元からbyte[]で作って
TypeHandleとlengthのsizeof(IntPtr)*2分ずらした所を使い回す方が賢明
結局fiexdと一緒な訳だが、P/Invokeならbyte[]渡してもゼロコピーの筈だし
abstract class Union<T> where T : struct {
internal readonly IntPtr length;
public T Value;
}
みたいなオレオレ実装をILキャストした事もあったな…後はSafeBufferとか
911デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/21(木) 12:35:31.38ID:78/oBfjca self containedって完全に依存なしになるわけじゃないのね
alpine用にself containedでビルドしても動かなかった
libstdc++とか色々インストールしたら動いたけどさ
dotnetコマンド同梱と比較してコンテナサイズも殆ど変わらないし意味あるのかなこれ
alpine用にself containedでビルドしても動かなかった
libstdc++とか色々インストールしたら動いたけどさ
dotnetコマンド同梱と比較してコンテナサイズも殆ど変わらないし意味あるのかなこれ
912デフォルトの名無しさん (スップ Sd0a-5Ibu)
2019/02/21(木) 12:44:14.85ID:IWeqLQBdd >>911
おばか
おばか
913デフォルトの名無しさん (ササクッテロレ Spbd-zZPo)
2019/02/21(木) 14:33:57.39ID:XSMrGlqdp SCDは.NETのランタイムを別途インストールじゃなくて同梱するってだけの話だしね
公式ドキュメントにも注釈あるけどLinuxは仕様上完全に断ち切るのは難しいんじゃない?
Windowsだと同梱のファイルだけでそのまま動くけど
公式ドキュメントにも注釈あるけどLinuxは仕様上完全に断ち切るのは難しいんじゃない?
Windowsだと同梱のファイルだけでそのまま動くけど
914デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/21(木) 17:41:05.62ID:DKuxuLxMa915デフォルトの名無しさん (スップ Sd0a-5Ibu)
2019/02/21(木) 18:56:24.09ID:IWeqLQBdd 最近のバッチはみんなSCDにしてる
らくちんらくちん
らくちんらくちん
916デフォルトの名無しさん (アウアウウー Sa21-eq4B)
2019/02/21(木) 19:03:47.82ID:DKuxuLxMa Goのように1バイナリにはならんものかね
917デフォルトの名無しさん (スップ Sd0a-5Ibu)
2019/02/21(木) 19:11:19.09ID:IWeqLQBdd918デフォルトの名無しさん (ワッチョイ 5d2d-4qoz)
2019/02/26(火) 16:27:59.06ID:jgGxVc0K0 ちょくちょくポインタ代替機能についての質問があるけどさ
どんな用途でポインタを使いたいのかわかんないけど、大抵の場合はストリームで代用できるんじゃないのかな
どんな用途でポインタを使いたいのかわかんないけど、大抵の場合はストリームで代用できるんじゃないのかな
919デフォルトの名無しさん (アウアウウー Sa21-/4p0)
2019/02/26(火) 19:45:51.64ID:KXA/2sKca ID3タグとかバイナリ使うにゃ要るだろ
920デフォルトの名無しさん (ワッチョイ a95f-cnIv)
2019/02/26(火) 22:52:44.40ID:cz3vAcnh0 >>919
バイナリデータもストリームで扱える
バイナリデータもストリームで扱える
921デフォルトの名無しさん (ワッチョイ a5e3-rusg)
2019/02/26(火) 23:01:06.66ID:w0dNr8TE0 バイナリ弄るならSpanでよくね?
922デフォルトの名無しさん (ワッチョイ 6d7b-SpKW)
2019/02/27(水) 22:56:28.74ID:0yfFFlZD0 ポインタなんかアンマネージとのやり取りとBitmapdataでしか使ったことないな
アンマネージとのやり取りだとrefとかoutにしとけばあとは何も考えなくていいから助かる
アンマネージとのやり取りだとrefとかoutにしとけばあとは何も考えなくていいから助かる
923デフォルトの名無しさん (ワッチョイ b702-W5e4)
2019/03/02(土) 10:07:34.38ID:yMVoU8j+0 「変数aが1,4,5,7のいずれかである場合」
という論理式を書く場合
(a==1) || (a==4) || (a==5) || (a==7)
とswitch文以外でもっと手っ取り早く書く方法ありますか?
という論理式を書く場合
(a==1) || (a==4) || (a==5) || (a==7)
とswitch文以外でもっと手っ取り早く書く方法ありますか?
924デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/02(土) 10:20:00.75ID:Ud+LwFnR0 >>923
その表現が一番端的でわかりやすいのではないですか?
その表現が一番端的でわかりやすいのではないですか?
925デフォルトの名無しさん (ワッチョイ 9fad-5O6o)
2019/03/02(土) 10:21:50.56ID:Vr07loEY0 >>923
()いらない
()いらない
926デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/03/02(土) 11:05:26.20ID:heck9gfNa new [] {1, 4, 5, 7}.Contains(a)
927デフォルトの名無しさん (ワッチョイ 9f01-dMaL)
2019/03/02(土) 11:08:41.04ID:Co1I1oSR0 >>923
その程度ならその書き方が一番わかりやすいと思うが比較対象がもっと多いとか可変にしたいとかなら
var C = new HashSet<int>(){1, 4, 5. 7};
if(C.Contains(a)){ … }
とかもある
その程度ならその書き方が一番わかりやすいと思うが比較対象がもっと多いとか可変にしたいとかなら
var C = new HashSet<int>(){1, 4, 5. 7};
if(C.Contains(a)){ … }
とかもある
928デフォルトの名無しさん (ワッチョイ b702-W5e4)
2019/03/02(土) 14:06:20.64ID:yMVoU8j+0レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★2 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 [お断り★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★5 [ぐれ★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★4 [BFU★]
- 大竹まこと「高市早苗のせいで倒産する企業が出てくる。ババア、何がしたかったの?」 [592058334]
- 貧民アニオタ向けdアニメ、値上げへ [175344491]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 中国「私達が怒ってるのは日本の政治家に対してで、日本の観光客や日本企業はこれまで通り歓迎する。これこそが大国としての余裕」 [377482965]
- 【高市変質者】 お尻を出している 小太りTシャツの自転車乗りが発生 😱 [485983549]
- 高市コイン、ガチで156円突入へwwwwwwwwww [246620176]
