1 名前:デフォルトの名無しさん (ワッチョイ 1e06-m8Mb) mailto:sageteoff [2017/04/22(土) 08:52:00.93 ID:iVvswOrb0.net] ■Visual Studio 2017 Community(無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part92 echo.2ch.net/test/read.cgi/tech/1485589613/ ■次スレは>>970 が建てる事。 建てられない場合は他を指定する事。 VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
858 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 19:05:12.63 ID:a546+gcL0.net] >>824 やっぱり、そういう事もあるんだね。 どっちにしろ、Uniy のゲーム・ライブラリだけのライセンス料では、年間100億円 の売り上げにはならない気がする。 CADなども売っているので、そういう売り上げがかなりあるのかもしれない。
859 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 19:24:02.27 ID:ikVu1qV7M.net] な、ガイジだろ
860 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 13:45:10.42 ID:RRyKxOPE0.net] >>809 海外の人も Unity 発表の数値には疑問を抱いている。 ちなみに、日本のゲーム業界の開発者数(プログラマ、 デザイナ、企画含む) は、2万5,000任程度だとされ、 世界でも1チームの平均人数は5.5人程度。 Unityには、450万人もの開発者が登録されているとされる。 Unity発表の数値が正しければ、世界には、 ゲーム開発チームが、160万〜200万チームも あることになってしまう。 「How many game developers existed in 2016?」 https://www.quora.com/How-many-game-developers-existed-in-2016 A cached version of Unity’s public relations page from July 2016 states that Unity has 45% of the global market share and 4.5 million developers using the platform, indicating an estimated total of 10 million individual game developers (my guess is that “developers” means people working in game development, including roles such as artists and game designers as well as engineers, who could potentially use the tool). From a 2013 Game Development Magazine survey of 1051 developers (republished by GamaSutra): Studio size and type: 7% of respondents are individual independent devs, 19% are teams of 2-5 people, 14% on 6-10, 18% on 11-30 , 9% on 31-50, 7% on 51-80, 5% on 81-100, 8% on 101-150, 4.5% on 151-200, 5.5% on 201-300, and 3% on teams of 300+. This indicates an average team size between 5 and 6 team members. If each of these members falls under Unity’s classification of “developers,” we can estimate 1,600,000 - 2,000,000 game development studios (including individuals developing games alone as well as teams).
861 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 13:54:09.60 ID:RRyKxOPE0.net] 2017/01/27時点で、GooglePlay には、260万個、AppStore には、 200万個のアプリがある。そのうちの25%がゲームだとして、Android には、60万ゲームある。1チーム当たり 5個のゲームを公開している としても、12万「チーム」あることになる。日本のプロのゲーム開発者 が2万5,000人程度しかいないことを考えると、凄い人数では有る。 そもそもアプリ全体の個数もかなり多いので、アマチュアプログラマがかなり 多い事は多い。 ------ There are currently over 2.6 million apps in the Google Play Store and over 2 million in the App Store. I can’t find anything to say how many of those are games. Let’s assume 25% are games. Lets just focus on Android as our estimation. That would mean more than 600,000 games on Google Play. I would say the average developer has 5 games on the store. Lets use 10 to be conservative. That would mean there are 60,000 different developers. That’s my best guesstimate. My gut tells me it’s probably more but who knows. I know for one thing, I am a developer and I have 4 games released. Feel free to check them out:
862 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:02:18.23 ID:RRyKxOPE0.net] GooglePlayやAppStoreのAppって、250万個もあれば、その中に本当に同一のものが 含まれてないか、または、250万個も本当にあるかを調べることは不可能に近い かも知れない。 そもそも本当はそんなに無かったりして。そもそも、Vectorに登録されているアプリ だってそこまで無い気もするし。
863 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:04:10.36 ID:3f3X1OW4d.net] うちゲーム会社じゃなくて製造業(けっこう大手)だけど、VR絡みはUnity使ってるよ。 同業他社も使ってるのは意見交換会で聞いたし。 映像系でも使われ始めてるから、ゲーム業界から離れたほうがわかりやすいかも。
864 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:05:59.54 ID:35krN4020.net] VRChatでスクリプトとして使われているしな
865 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:43:30.92 ID:RRyKxOPE0.net] 確かに、VRまで含めれば説明が付く気はするんだよ。 使う人の人数は作る人の人数より100倍程度は居るのが普通だから。 ただ、GooglePlayに登録されているアプリ数が本当に250万本もあるかどうか、 そのまま信じていいかについては注意すべき。 そもそも250万種類の一覧表をテキストファイルで見られるかどうか。 旧 nifty serve なんかも、「シェアウェアは儲かる」と言ってパソコン通信 加入者を増やそうとしたらしい。その際、「秀丸エディタ」が1億円の売り上げ がある、とされたが、その作者が富士通社員だったことは公然の秘密。
866 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:50:38.86 ID:4WsM1r+i0.net] >>832 レコード数250万のDBなんてざらにあるぞ
867 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:55:46.58 ID:RRyKxOPE0.net] >>833 そういう意味じゃなくって、GooglePlay から、全てアプリが載った一覧表を一度に ダウンロードできるのかってこと。 検索するだけだったら、本当に250万種類もあるかは誰にも分からないじゃない かと。
868 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 14:59:31.85 ID:Gas9nc7W0.net] で? としか言いようがないな
869 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 16:21:36.71 ID:YkPnkG/ad.net] Twitterにでも書いてろ
870 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 16:52:49.38 ID:3f3X1OW4d.net] 儲かってると思うけどな。Unity。 18万円はProだろ。 Enterpriseは別だよ。
871 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 20:04:55.15 ID:fYjPqF3od.net] ダウンロードできるか?ってできるだろ 1レコードがMB単位でデータあるんか? 1レコード1KBで2.5GB 最近のゲームなんて10GB超えのダウンロード当たり前み
872 名前:たいなとこあるじゃん 250万行のテキストはあんま開きたくはないが [] [ここ壊れてます]
873 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 20:09:07.70 ID:fYjPqF3od.net] なんの根拠もない空想だけどゲームとVRの比率、VRが10%とかじゃない? もちろん両方もそれなりにいるだろうけど それでVRまで含めれば説明がつく、って意味がわからん
874 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 20:16:58.44 ID:3f3X1OW4d.net] あんまり詳しくは言えないけど、VR以外にも使ってるものもあるし、エンタープライズだとお値段時価だし、 企業ユースでは数人のチームなんてのはあり得なくて結構な人数分揃えるからね。 CADと連携したりなんやかんやで、ゲーム開発より金はかかるから、プロダクトの割合とは一致しないよ。
875 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 20:31:17.51 ID:kvTCOjS80.net] Unity用のスレはあるからそっちでやれよ VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】 https://mevius.5ch.net/test/read.cgi/tech/1478142101/ 数レスならともかく赤いのまでいるし
876 名前:デフォルトの名無しさん mailto:sage [2018/12/12(水) 21:46:33.67 ID:Lm9ykMW+0.net] 先月も変なのが沸いてたけど同一人物だな
877 名前:デフォルトの名無しさん [2018/12/14(金) 16:44:56.02 ID:nWTWWp6e0.net] 質問いいでしょうか webapiにて var task = Task.Factory.StartNew これで重い処理をバックグラウンドで処理させています。 このtask開始時にDBにProcessThread.IdとProcessThread.StartTimeを落として 別のwebapiでDBに落としたIdとStartTimeを使って GetCurrentProcess().Threadsを検索して定期的に生きてるかのチェックを行っています。 これがけっこう不安定みたいで、バックグラウンドの処理が終わる前に ProcessThreadが検索できなくなる場合があります。 最初にStartNewさせた際のProcessThreadが生きてる正しい確認方法はないでしょうか? ブラウザを閉じた場合を考慮してProcessThreadで確認を行いたいです。
878 名前:デフォルトの名無しさん [2018/12/14(金) 17:44:35.68 ID:nWTWWp6e0.net] すいません。 変な質問ですね。 var taskを見るのではなく、その他の方法で バックグラウンド処理が動いてるかの確認が行いたいです。
879 名前:デフォルトの名無しさん [2018/12/14(金) 18:14:11.54 ID:nWTWWp6e0.net] すいません。 自己解決です。 static public Task wkTaskを宣言しておいて wkTask= Task.Factory.StartNewで作成したあと、ブラウザを閉じて 開き直してもwkTaskは生きてますね。 スレ汚しすいませんでした。
880 名前:デフォルトの名無しさん mailto:sage [2018/12/14(金) 21:29:27.54 ID:OUs3lGdw0.net] 自己解決できるやつは偉いぞ
881 名前:デフォルトの名無しさん mailto:sage [2018/12/15(土) 02:43:07.58 ID:LeOuIFUL0.net] >>845 そのTaskが必ず1つしか動かないって保証があるならいいけどね。 ブラウザ閉じる->開くを繰り返したらどうなるんや
882 名前:デフォルトの名無しさん mailto:sage [2018/12/15(土) 16:24:19.51 ID:U8VjJ+lV0.net] ブラウザ閉じて開いて、サーバの同じスレッドに接続して同じタスク拾う保証どうやってるんだ
883 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 11:49:06.15 ID:yRPOvGGU0.net] Action.Invokeでvoidと比べてstatic voidの方が遅いのってC#7だと改善されたの?
884 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 13:31:28.35 ID:C73LM3okM.net] javaのtry-with-resouceみたいにusing書けるようにしてくれないかな どうしてもネスト深くなるの辛い
885 名前:デフォルトの名無しさん mailto:sage [2019/01/09(水) 15:23:40.58 ID:c4aAB3Aqd.net] >>850 C#8.0
886 名前:デフォルトの名無しさん [2019/02/10(日) 17:55:21.67 ID:Y+0FbWW50.net] メソッドへのオブジェクト引数で、参照渡し(refをつける)、とオブジェクトの値渡し(refなしの値渡し。つまり、ポインター(アドレス)渡し)の違いがわかりません。 同じと思ってますが・・・・・。事実は違うようです。参照だと
887 名前:渡し元も変更される、っていう違いは分かります。 それ以外の違いはあるんでしょうか? [] [ここ壊れてます]
888 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:14:21.76 ID:vpLDyodj0.net] >>852 オブジェクトの値渡しってどういうこと? 参照型なら全部参照渡しになると思うが
889 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:17:54.37 ID:Mw20IJUM0.net] refだと渡し元が変更されるって十分な違いだろ どうあって欲しいんだよ一体
890 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:43:21.99 ID:vOpxNkmL0.net] >>852 ここらへんを見てみればいいかと https://dobon.net/vb/dotnet/beginner/byvalbyref.html#section3 かんたんに言うとどっちでも渡されたオブジェクトの中身は変えられるけど、ref付けないと新しいオブジェクトを設定して呼び出し元に返せないってこと
891 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 18:57:09.81 ID:ynO2ssbq0.net] 参照値でも、refつけない値渡しとref付ける参照渡しできる。 で、参照値以外の値...とりあえず非参照値と呼ぶと 非参照値でも、refつけない値渡しとref付ける参照渡しできる。 全部で4パターンあるってこと 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
892 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 19:18:44.11 ID:zgWWffC0a.net] >>852 簡単なので難しく考えてはだめ。すごくシンプルな話。 その型の値(その型の変数に格納される値)を渡すのが値渡し。 その型の変数の「場所」を渡すのが参照渡し。 さらっと書いたけど、「その型の値 = その型の変数に格納される値」なのはよく理解する必要がある。 つまり、参照型の変数に格納される値って何だったか要再考。 変数とはメモリ上に割り当てられた特定の領域のこと。 だからその領域のバイト列のコピーを渡すのが値渡しで、 領域の先頭アドレスを渡すのが参照渡しだと思えばいい。 参照渡しでメソッドが受け取る情報は「変数の」場所なので、参照渡しの引数に リテラルや式を渡すことは出来ない。
893 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 19:59:44.58 ID:xbk//Ba50.net] 多分だけど参照渡しと値渡しの挙動自体は理解しているものの、 デフォ参照型とデフォ値型の区別がついておらずにデフォ参照型で実験をしてrefでも素渡しでも変わらないやんってことじゃないか
894 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 20:36:28.11 ID:3Dzzkr73a.net] tuple使えるならrefは忘れていいと思う
895 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 20:53:04.89 ID:OiPWe/iEa.net] TryParseみたいなのだと成否と値がtupleで返って来てもifの中でめんどい
896 名前:デフォルトの名無しさん mailto:sage [2019/02/10(日) 21:03:14.46 ID:c1xIq/Nm0.net] メソッド内で中身を変更するって理由で参照型のもref渡ししてるのみてイラッとしたことはある。イランヤン
897 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 08:03:59.18 ID:RCleUAyA0.net] それVB6からの移植とかじゃない? オフショアが移植したコードがそんなんばっかし
898 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 15:02:26.65 ID:RVSdpjZja.net] ref の使いどころってライブラリから複数の返値欲しい時だから 他の手段使えるならそっちでいいわな 未初期化変数指定できんのも地味にイラッと来るし
899 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 15:22:08.28 ID:xSGeZZ3R0.net] >>863 そういう場合はrefではなくoutを使う
900 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 15:23:06.12 ID:MkFOBvt90.net] >>863 > 未初期化変数指定できんのも地味にイラッと来るし out使えよ
901 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 15:23:27.15 ID:MkFOBvt90.net] 被った…
902 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 16:36:40.92 ID:2icS/4sTa.net] 引数いじるの好きじゃないわ 返り値だけで判別させて
903 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 16:54:38.75 ID:I8dqqL3E0.net] まあ参照型はoutの制約で十分かつ安全なのでrefはほぼ出番ないんじゃねえのん Swap関数を定義する時くらしか適切な例が思い付かねえ
904 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 18:26:18.92 ID:2ERt5pT00.net] そのswapがな、MVVMでお決まりのBindableBaseなりのSetPropertyでプロパティの値交換するときに使いまくりで、 androidでもMVVM使いまくってるけどrefないkotlinやjavaでやると...
905 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 19:50:18.92 ID:u96ReIy/0.net] プロパティの値交換するときってのが想像つかんが どういうときにそれを使いまくるんだ?
906 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 21:01:30.06 ID:KFZGfstbM.net] プロパティの値をソートする時じゃね?(適当)
907 名前:デフォルトの名無しさん mailto:sage [2019/02/12(火) 23:51:08.44 ID:HQcd2HqP0.net] BindableBase SetPropertyとかでぐぐってみれ 有り体に言えば自身のプロパティ(のバックストア)を差し替えるジェネリックメソッドを基底クラスで定義するのに使うだけ
908 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 00:40:04.33 ID:6JezjdzR0.net] WPFとかUWPとか使ってればBindableBaseのありがたさはよくわかる 関係ないけどstaticメソッドって呼び出すときにいちいちインスタンスを生成する必要がないって以外のメリットあるのかな?
909 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 01:53:30.80 ID:sK/raQIQa.net] >>873 まあメリットって発想がそもそもおかしい。 例えばDouble.Parseがstaticなのはその方が意味的に自然だから インスタンスメソッドである必然性がないし、インスタンスメソッドでは不自然だから
910 名前:デフォルトの名無しさん mailto:sage [2019/02/13(水) 04:15:53.43 ID:VGvE+KfY0.net] >>873 パフォーマンス
911 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 21:00:36.96 ID:YtWtNE43a.net] dictionaryとかのcollection系が手抜きなのなんで? 特にdictionaryとか拡張必須だし 割とc#好きだけどこれはほんとアカン
912 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 22:13:27.13 ID:qKlS4dB9d.net] >>876 何がどうあかんのか具体的に
913 名前:デフォルトの名無しさん mailto:sage [2019/02/14(木) 22:45:20.23 ID:tlcLfILV0.net] テンプレート系はデータが増えればC++にでも勝てるのに 何が問題?
914 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 00:22:49.50 ID:dIP2EtTm0.net] Collection系はJavaの方がしっかりしてるよね。
915 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 00:39:22.49 ID:2WeUN81J0.net] >>879 Javaは何が違うん?
916 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 03:04:36.23 ID:l1U6kYAka.net] Queue以外は不満持ったことないね
917 名前:デフォルトの名無しさん mailto:sage [2019/02/15(金) 21:54:02.82 ID:kAPwBxa3M.net] queueは空っぽの時取り出そうとすると落ちやがるの許せん勝田 今はTryあるからいいけど
918 名前:デフォルトの名無しさん [2019/02/15(金) 22:47:38.37 ID:izkrr7dEa.net] いやチェックしとけよそこは
919 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 08:41:04.77 ID:q1DAaOKG0.net] 例外が発生することを落ちるって表現する男の人って…
920 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 10:36:35.40 ID:8cj+4+Hl0.net] 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて とりあえずcatch(Exception e)とかしちゃってるけど本来はこんなのダメだよな……
921 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 11:09:50.80 ID:mveZudXk0.net] 別にいいと思うぞ。下位の呼び出しのどこかで失敗したということに対して適切に処置するなら。
922 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 12:03:59.89 ID:mmBt6tnL0.net] >>885 例外は握りつぶしてこそ華
923 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 12:43:39.03 ID:LCZTEEhT0.net] catch(Exception e){
924 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 13:08:53.78 ID:q1DAaOKG0.net] >>885 > 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて 投げる方で悩むのはわかるけど > とりあえずcatch(Exception e)とかしちゃってる 受ける方はどれ受けるべきかはわかってる
925 名前:ナしょ 最終手段としてよくわからんけどエラーが発生したから終了するね って言うならcatch(Exception e)もありだと思うが [] [ここ壊れてます]
926 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 13:37:31.27 ID:mveZudXk0.net] 終了というのがプログラムの終了のことなら逆にcatchしちゃだめだろう。
927 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 14:43:51.47 ID:NIO8UzEI0.net] >>889 catch { }ではw >>890 例外一つでプログラム終了していたら大概困るw
928 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 15:01:00.34 ID:NEtPpdWW0.net] 例外はありえない事態なんだからプログラム終了しなきゃまずいだろう
929 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 15:02:54.74 ID:PR5Tb5Rba.net] >>891 それは逆で、プログラマが想定してない例外が発生したら プログラムは停止してもらわないと困る。これが正しい考え方。 そもそも例外機構というのはそのためにある
930 名前:デフォルトの名無しさん [2019/02/16(土) 15:03:48.09 ID:uy2P96bkM.net] 最近部活の後輩が黒魔術みたいなコードを書くようになって困ってるんだが対策ない? こんな感じのコードを後輩が書いてくるんだよ↓ public interface IMessenger { __public MessageReceived(); } public abstract class Messenger : IMessenger{ __public abstract void MessageReceived(); __public abstract void Retry(); }
931 名前:デフォルトの名無しさん [2019/02/16(土) 15:04:05.72 ID:uy2P96bkM.net] 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(); __} }
932 名前:デフォルトの名無しさん [2019/02/16(土) 15:04:31.94 ID:uy2P96bkM.net] こんなんだったから 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文字で分けるって言ってるんだから 何が起こってるかわかるように書くことを意識してもらわないと
933 名前:デフォルトの名無しさん [2019/02/16(土) 15:06:36.58 ID:8cj+4+Hl0.net] まあ例外でプログラムは終了させるべきだよな ただ客は例外が起きてもcatchで握りつぶしてスルーした方が文句言わないんだよな……
934 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 15:14:21.65 ID:auHH3gBua.net] >>894 酷いな MediatoRを使うようにアドバイスしてあげなよ
935 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 15:19:24.61 ID:PR5Tb5Rba.net] >>894 2chのシステムは先頭の半角スーペースは除去するけど全角スペースは除去しない。 だから字下げは後者で
936 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 15:41:54.82 ID:q1DAaOKG0.net] >>891 > catch { }ではw ごめん、何を言いたいのかわかん 処理部分も当然必要だけど何を受けるかの話だから(Exception e)の方が重要だろ?
937 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 22:53:53.99 ID:gbHoDgK/0.net] >>893 ちょっとMSに例外じゃなくエラーコード戻す設計にするようお前から言ってきてくんね? W32APIはそうなってんのにFrameworkの方そうなってないじゃん
938 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 00:48:25.53 ID:0sFVNd3o0.net] 宗教戦争を見物now
939 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 14:42:24.50 ID:QIeMqQFm0.net] byte*からbyte[]にする方法ってない? new byte[64];みたいに新規確保してコピーしか方法ないんだろうか Unsafe.As等で新規確保無しで出来るかと思って色々試してみたけど上手くいかない
940 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:01:42.36 ID:99sHKv96a.net] 「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら 全然別の型なんだしあるわけないでしょう。 そういう危なっかしい機能を排除してるのがC#の売りの一つだったはずなわけで コピーする機能ならMarshalあ
941 名前:スりにあるんじゃない? [] [ここ壊れてます]
942 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:16:25.11 ID:QIeMqQFm0.net] >>904 >「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら そういうことです あるわけないと言いますが、その逆はあるので出来るかなと思い (byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能)
943 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:21:31.28 ID:Ox4HquXb0.net] >>905 >(byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能) 具体的なコード希望
944 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:23:52.52 ID:UNDanSNQ0.net] その逆がマネージドじゃ難しいからね 無理じゃないかなあ やっぱこれからはSpanですよスパンスパン
945 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:27:09.29 ID:QIeMqQFm0.net] >>906 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バイト後ろにづらないと出来ないから実用は難しいけど一応可能
946 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:31:55.60 ID:QIeMqQFm0.net] fixed (byte* ptr = &data[0]) *(MyStruct*)ptr; と大体同じではあります
947 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 15:40:47.44 ID:QIeMqQFm0.net] やっぱりこういうことやりたければC++に池ってことなのでしょうか 記憶力悪いのでVSがC#ほど助けてくれないC++に行くのは億劫なため質問させてもらいました
948 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:16:49.38 ID:rf6p5Xt1a.net] Span使え
949 名前:デフォルトの名無しさん mailto:sage [2019/02/17(日) 16:27:59.23 ID:tKx1WgvG0.net] 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とか
950 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:35:31.38 ID:78/oBfjca.net] self containedって完全に依存なしになるわけじゃないのね alpine用にself containedでビルドしても動かなかった libstdc++とか色々インストールしたら動いたけどさ dotnetコマンド同梱と比較してコンテナサイズも殆ど変わらないし意味あるのかなこれ
951 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 12:44:14.85 ID:IWeqLQBdd.net] >>913 おばか
952 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 14:33:57.39 ID:XSMrGlqdp.net] SCDは.NETのランタイムを別途インストールじゃなくて同梱するってだけの話だしね 公式ドキュメントにも注釈あるけどLinuxは仕様上完全に断ち切るのは難しいんじゃない? Windowsだと同梱のファイルだけでそのまま動くけど
953 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 17:41:05.62 ID:DKuxuLxMa.net] >>915 Windows配布用と割り切った方がいいのかもしれない Linuxだと管理下のサーバーかコンテナが多いからSCに拘る必要もない
954 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 18:56:24.09 ID:IWeqLQBdd.net] 最近のバッチはみんなSCDにしてる らくちんらくちん
955 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:03:47.82 ID:DKuxuLxMa.net] Goのように1バイナリにはならんものかね
956 名前:デフォルトの名無しさん mailto:sage [2019/02/21(木) 19:11:19.09 ID:IWeqLQBdd.net] >>918 https://github.com/dotnet/designs/pull/52
957 名前:デフォルトの名無しさん [2019/02/26(火) 16:27:59.06 ID:jgGxVc0K0.net] ちょくちょくポインタ代替機能についての質問があるけどさ どんな用途でポインタを使いたいのかわかんないけど、大抵の場合はストリームで代用できるんじゃないのかな
958 名前:デフォルトの名無しさん mailto:sage [2019/02/26(火) 19:45:51.64 ID:KXA/2sKca.net] ID3タグとかバイナリ使うにゃ要るだろ