C#, C♯, C#相談室 Part93©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
2017/04/22(土) 08:52:00.93ID:iVvswOrb0
■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
2018/12/12(水) 13:54:09.60ID:RRyKxOPE0
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:
2018/12/12(水) 14:02:18.23ID:RRyKxOPE0
GooglePlayやAppStoreのAppって、250万個もあれば、その中に本当に同一のものが
含まれてないか、または、250万個も本当にあるかを調べることは不可能に近い
かも知れない。
そもそも本当はそんなに無かったりして。そもそも、Vectorに登録されているアプリ
だってそこまで無い気もするし。
2018/12/12(水) 14:04:10.36ID:3f3X1OW4d
うちゲーム会社じゃなくて製造業(けっこう大手)だけど、VR絡みはUnity使ってるよ。
同業他社も使ってるのは意見交換会で聞いたし。
映像系でも使われ始めてるから、ゲーム業界から離れたほうがわかりやすいかも。
2018/12/12(水) 14:05:59.54ID:35krN4020
VRChatでスクリプトとして使われているしな
2018/12/12(水) 14:43:30.92ID:RRyKxOPE0
確かに、VRまで含めれば説明が付く気はするんだよ。
使う人の人数は作る人の人数より100倍程度は居るのが普通だから。

ただ、GooglePlayに登録されているアプリ数が本当に250万本もあるかどうか、
そのまま信じていいかについては注意すべき。

そもそも250万種類の一覧表をテキストファイルで見られるかどうか。

旧 nifty serve なんかも、「シェアウェアは儲かる」と言ってパソコン通信
加入者を増やそうとしたらしい。その際、「秀丸エディタ」が1億円の売り上げ
がある、とされたが、その作者が富士通社員だったことは公然の秘密。
2018/12/12(水) 14:50:38.86ID:4WsM1r+i0
>>830
レコード数250万のDBなんてざらにあるぞ
2018/12/12(水) 14:55:46.58ID:RRyKxOPE0
>>831
そういう意味じゃなくって、GooglePlay から、全てアプリが載った一覧表を一度に
ダウンロードできるのかってこと。

検索するだけだったら、本当に250万種類もあるかは誰にも分からないじゃない
かと。
2018/12/12(水) 14:59:31.85ID:Gas9nc7W0
で?
としか言いようがないな
2018/12/12(水) 16:21:36.71ID:YkPnkG/ad
Twitterにでも書いてろ
2018/12/12(水) 16:52:49.38ID:3f3X1OW4d
儲かってると思うけどな。Unity。
18万円はProだろ。
Enterpriseは別だよ。
2018/12/12(水) 20:04:55.15ID:fYjPqF3od
ダウンロードできるか?ってできるだろ
1レコードがMB単位でデータあるんか?
1レコード1KBで2.5GB
最近のゲームなんて10GB超えのダウンロード当たり前みたいなとこあるじゃん
250万行のテキストはあんま開きたくはないが
2018/12/12(水) 20:09:07.70ID:fYjPqF3od
なんの根拠もない空想だけどゲームとVRの比率、VRが10%とかじゃない?
もちろん両方もそれなりにいるだろうけど
それでVRまで含めれば説明がつく、って意味がわからん
2018/12/12(水) 20:16:58.44ID:3f3X1OW4d
あんまり詳しくは言えないけど、VR以外にも使ってるものもあるし、エンタープライズだとお値段時価だし、
企業ユースでは数人のチームなんてのはあり得なくて結構な人数分揃えるからね。
CADと連携したりなんやかんやで、ゲーム開発より金はかかるから、プロダクトの割合とは一致しないよ。
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/
数レスならともかく赤いのまでいるし
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で確認を行いたいです。
842デフォルトの名無しさん (ワッチョイ 06b5-t2lu)
垢版 |
2018/12/14(金) 17:44:35.68ID:nWTWWp6e0
すいません。
変な質問ですね。
var taskを見るのではなく、その他の方法で
バックグラウンド処理が動いてるかの確認が行いたいです。
843デフォルトの名無しさん (ワッチョイ 06b5-t2lu)
垢版 |
2018/12/14(金) 18:14:11.54ID:nWTWWp6e0
すいません。
自己解決です。
static public Task wkTaskを宣言しておいて

wkTask= Task.Factory.StartNewで作成したあと、ブラウザを閉じて
開き直してもwkTaskは生きてますね。

スレ汚しすいませんでした。
2018/12/14(金) 21:29:27.54ID:OUs3lGdw0
自己解決できるやつは偉いぞ
2018/12/15(土) 02:43:07.58ID:LeOuIFUL0
>>843
そのTaskが必ず1つしか動かないって保証があるならいいけどね。
ブラウザ閉じる->開くを繰り返したらどうなるんや
2018/12/15(土) 16:24:19.51ID:U8VjJ+lV0
ブラウザ閉じて開いて、サーバの同じスレッドに接続して同じタスク拾う保証どうやってるんだ
2018/12/26(水) 11:49:06.15ID:yRPOvGGU0
Action.Invokeでvoidと比べてstatic voidの方が遅いのってC#7だと改善されたの?
2019/01/09(水) 13:31:28.35ID:C73LM3okM
javaのtry-with-resouceみたいにusing書けるようにしてくれないかな
どうしてもネスト深くなるの辛い
2019/01/09(水) 15:23:40.58ID:c4aAB3Aqd
>>848
C#8.0
850デフォルトの名無しさん (ワッチョイ ae02-HdPi)
垢版 |
2019/02/10(日) 17:55:21.67ID:Y+0FbWW50
メソッドへのオブジェクト引数で、参照渡し(refをつける)、とオブジェクトの値渡し(refなしの値渡し。つまり、ポインター(アドレス)渡し)の違いがわかりません。
同じと思ってますが・・・・・。事実は違うようです。参照だと渡し元も変更される、っていう違いは分かります。
それ以外の違いはあるんでしょうか?
2019/02/10(日) 18:14:21.76ID:vpLDyodj0
>>850
オブジェクトの値渡しってどういうこと?
参照型なら全部参照渡しになると思うが
2019/02/10(日) 18:17:54.37ID:Mw20IJUM0
refだと渡し元が変更されるって十分な違いだろ
どうあって欲しいんだよ一体
2019/02/10(日) 18:43:21.99ID:vOpxNkmL0
>>850
ここらへんを見てみればいいかと
https://dobon.net/vb/dotnet/beginner/byvalbyref.html#section3

かんたんに言うとどっちでも渡されたオブジェクトの中身は変えられるけど、ref付けないと新しいオブジェクトを設定して呼び出し元に返せないってこと
2019/02/10(日) 18:57:09.81ID:ynO2ssbq0
参照値でも、refつけない値渡しとref付ける参照渡しできる。
で、参照値以外の値...とりあえず非参照値と呼ぶと
非参照値でも、refつけない値渡しとref付ける参照渡しできる。

全部で4パターンあるってこと 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
2019/02/10(日) 19:18:44.11ID:zgWWffC0a
>>850
簡単なので難しく考えてはだめ。すごくシンプルな話。

その型の値(その型の変数に格納される値)を渡すのが値渡し。
その型の変数の「場所」を渡すのが参照渡し。
さらっと書いたけど、「その型の値 = その型の変数に格納される値」なのはよく理解する必要がある。
つまり、参照型の変数に格納される値って何だったか要再考。

変数とはメモリ上に割り当てられた特定の領域のこと。
だからその領域のバイト列のコピーを渡すのが値渡しで、
領域の先頭アドレスを渡すのが参照渡しだと思えばいい。

参照渡しでメソッドが受け取る情報は「変数の」場所なので、参照渡しの引数に
リテラルや式を渡すことは出来ない。
2019/02/10(日) 19:59:44.58ID:xbk//Ba50
多分だけど参照渡しと値渡しの挙動自体は理解しているものの、
デフォ参照型とデフォ値型の区別がついておらずにデフォ参照型で実験をしてrefでも素渡しでも変わらないやんってことじゃないか
2019/02/10(日) 20:36:28.11ID:3Dzzkr73a
tuple使えるならrefは忘れていいと思う
2019/02/10(日) 20:53:04.89ID:OiPWe/iEa
TryParseみたいなのだと成否と値がtupleで返って来てもifの中でめんどい
2019/02/10(日) 21:03:14.46ID:c1xIq/Nm0
メソッド内で中身を変更するって理由で参照型のもref渡ししてるのみてイラッとしたことはある。イランヤン
2019/02/11(月) 08:03:59.18ID:RCleUAyA0
それVB6からの移植とかじゃない?
オフショアが移植したコードがそんなんばっかし
2019/02/11(月) 15:02:26.65ID:RVSdpjZja
ref の使いどころってライブラリから複数の返値欲しい時だから
他の手段使えるならそっちでいいわな
未初期化変数指定できんのも地味にイラッと来るし
2019/02/11(月) 15:22:08.28ID:xSGeZZ3R0
>>861
そういう場合はrefではなくoutを使う
2019/02/11(月) 15:23:06.12ID:MkFOBvt90
>>861
> 未初期化変数指定できんのも地味にイラッと来るし
out使えよ
2019/02/11(月) 15:23:27.15ID:MkFOBvt90
被った…
2019/02/11(月) 16:36:40.92ID:2icS/4sTa
引数いじるの好きじゃないわ
返り値だけで判別させて
2019/02/11(月) 16:54:38.75ID:I8dqqL3E0
まあ参照型はoutの制約で十分かつ安全なのでrefはほぼ出番ないんじゃねえのん
Swap関数を定義する時くらしか適切な例が思い付かねえ
2019/02/11(月) 18:26:18.92ID:2ERt5pT00
そのswapがな、MVVMでお決まりのBindableBaseなりのSetPropertyでプロパティの値交換するときに使いまくりで、
androidでもMVVM使いまくってるけどrefないkotlinやjavaでやると...
2019/02/12(火) 19:50:18.92ID:u96ReIy/0
プロパティの値交換するときってのが想像つかんが
どういうときにそれを使いまくるんだ?
2019/02/12(火) 21:01:30.06ID:KFZGfstbM
プロパティの値をソートする時じゃね?(適当)
2019/02/12(火) 23:51:08.44ID:HQcd2HqP0
BindableBase SetPropertyとかでぐぐってみれ
有り体に言えば自身のプロパティ(のバックストア)を差し替えるジェネリックメソッドを基底クラスで定義するのに使うだけ
2019/02/13(水) 00:40:04.33ID:6JezjdzR0
WPFとかUWPとか使ってればBindableBaseのありがたさはよくわかる

関係ないけどstaticメソッドって呼び出すときにいちいちインスタンスを生成する必要がないって以外のメリットあるのかな?
2019/02/13(水) 01:53:30.80ID:sK/raQIQa
>>871
まあメリットって発想がそもそもおかしい。
例えばDouble.Parseがstaticなのはその方が意味的に自然だから
インスタンスメソッドである必然性がないし、インスタンスメソッドでは不自然だから
2019/02/13(水) 04:15:53.43ID:VGvE+KfY0
>>871
パフォーマンス
2019/02/14(木) 21:00:36.96ID:YtWtNE43a
dictionaryとかのcollection系が手抜きなのなんで?
特にdictionaryとか拡張必須だし
割とc#好きだけどこれはほんとアカン
2019/02/14(木) 22:13:27.13ID:qKlS4dB9d
>>874
何がどうあかんのか具体的に
2019/02/14(木) 22:45:20.23ID:tlcLfILV0
テンプレート系はデータが増えればC++にでも勝てるのに
何が問題?
2019/02/15(金) 00:22:49.50ID:dIP2EtTm0
Collection系はJavaの方がしっかりしてるよね。
2019/02/15(金) 00:39:22.49ID:2WeUN81J0
>>877
Javaは何が違うん?
2019/02/15(金) 03:04:36.23ID:l1U6kYAka
Queue以外は不満持ったことないね
2019/02/15(金) 21:54:02.82ID:kAPwBxa3M
queueは空っぽの時取り出そうとすると落ちやがるの許せん勝田
今はTryあるからいいけど
881デフォルトの名無しさん (アウアウカー Sa5b-KHu+)
垢版 |
2019/02/15(金) 22:47:38.37ID:izkrr7dEa
いやチェックしとけよそこは
2019/02/16(土) 08:41:04.77ID:q1DAaOKG0
例外が発生することを落ちるって表現する男の人って…
2019/02/16(土) 10:36:35.40ID:8cj+4+Hl0
例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて
とりあえずcatch(Exception e)とかしちゃってるけど本来はこんなのダメだよな……
2019/02/16(土) 11:09:50.80ID:mveZudXk0
別にいいと思うぞ。下位の呼び出しのどこかで失敗したということに対して適切に処置するなら。
2019/02/16(土) 12:03:59.89ID:mmBt6tnL0
>>883
例外は握りつぶしてこそ華
2019/02/16(土) 12:43:39.03ID:LCZTEEhT0
catch(Exception e){
2019/02/16(土) 13:08:53.78ID:q1DAaOKG0
>>883
> 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて
投げる方で悩むのはわかるけど
> とりあえずcatch(Exception e)とかしちゃってる
受ける方はどれ受けるべきかはわかってるでしょ
最終手段としてよくわからんけどエラーが発生したから終了するね
って言うならcatch(Exception e)もありだと思うが
2019/02/16(土) 13:37:31.27ID:mveZudXk0
終了というのがプログラムの終了のことなら逆にcatchしちゃだめだろう。
2019/02/16(土) 14:43:51.47ID:NIO8UzEI0
>>887
catch { }ではw
>>888
例外一つでプログラム終了していたら大概困るw
2019/02/16(土) 15:01:00.34ID:NEtPpdWW0
例外はありえない事態なんだからプログラム終了しなきゃまずいだろう
2019/02/16(土) 15:02:54.74ID:PR5Tb5Rba
>>889
それは逆で、プログラマが想定してない例外が発生したら
プログラムは停止してもらわないと困る。これが正しい考え方。

そもそも例外機構というのはそのためにある
892デフォルトの名無しさん (オイコラミネオ 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();
}
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();
__}
}
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文字で分けるって言ってるんだから
何が起こってるかわかるように書くことを意識してもらわないと
895デフォルトの名無しさん (ワッチョイ c701-cT+3)
垢版 |
2019/02/16(土) 15:06:36.58ID:8cj+4+Hl0
まあ例外でプログラムは終了させるべきだよな
ただ客は例外が起きてもcatchで握りつぶしてスルーした方が文句言わないんだよな……
2019/02/16(土) 15:14:21.65ID:auHH3gBua
>>892
酷いな
MediatoRを使うようにアドバイスしてあげなよ
2019/02/16(土) 15:19:24.61ID:PR5Tb5Rba
>>892
2chのシステムは先頭の半角スーペースは除去するけど全角スペースは除去しない。
だから字下げは後者で
2019/02/16(土) 15:41:54.82ID:q1DAaOKG0
>>889
> catch { }ではw
ごめん、何を言いたいのかわかん
処理部分も当然必要だけど何を受けるかの話だから(Exception e)の方が重要だろ?
2019/02/16(土) 22:53:53.99ID:gbHoDgK/0
>>891
ちょっとMSに例外じゃなくエラーコード戻す設計にするようお前から言ってきてくんね?
W32APIはそうなってんのにFrameworkの方そうなってないじゃん
2019/02/17(日) 00:48:25.53ID:0sFVNd3o0
宗教戦争を見物now
2019/02/17(日) 14:42:24.50ID:QIeMqQFm0
byte*からbyte[]にする方法ってない?
new byte[64];みたいに新規確保してコピーしか方法ないんだろうか
Unsafe.As等で新規確保無しで出来るかと思って色々試してみたけど上手くいかない
2019/02/17(日) 15:01:42.36ID:99sHKv96a
「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
全然別の型なんだしあるわけないでしょう。
そういう危なっかしい機能を排除してるのがC#の売りの一つだったはずなわけで

コピーする機能ならMarshalあたりにあるんじゃない?
2019/02/17(日) 15:16:25.11ID:QIeMqQFm0
>>902
>「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
そういうことです

あるわけないと言いますが、その逆はあるので出来るかなと思い
(byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能)
2019/02/17(日) 15:21:31.28ID:Ox4HquXb0
>>903
>(byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能)
具体的なコード希望
2019/02/17(日) 15:23:52.52ID:UNDanSNQ0
その逆がマネージドじゃ難しいからね
無理じゃないかなあ

やっぱこれからはSpanですよスパンスパン
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バイト後ろにづらないと出来ないから実用は難しいけど一応可能
2019/02/17(日) 15:31:55.60ID:QIeMqQFm0
fixed (byte* ptr = &data[0]) *(MyStruct*)ptr;
と大体同じではあります
2019/02/17(日) 15:40:47.44ID:QIeMqQFm0
やっぱりこういうことやりたければC++に池ってことなのでしょうか
記憶力悪いのでVSがC#ほど助けてくれないC++に行くのは億劫なため質問させてもらいました
2019/02/17(日) 16:16:49.38ID:rf6p5Xt1a
Span使え
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とか
2019/02/21(木) 12:35:31.38ID:78/oBfjca
self containedって完全に依存なしになるわけじゃないのね
alpine用にself containedでビルドしても動かなかった
libstdc++とか色々インストールしたら動いたけどさ
dotnetコマンド同梱と比較してコンテナサイズも殆ど変わらないし意味あるのかなこれ
2019/02/21(木) 12:44:14.85ID:IWeqLQBdd
>>911
おばか
2019/02/21(木) 14:33:57.39ID:XSMrGlqdp
SCDは.NETのランタイムを別途インストールじゃなくて同梱するってだけの話だしね
公式ドキュメントにも注釈あるけどLinuxは仕様上完全に断ち切るのは難しいんじゃない?
Windowsだと同梱のファイルだけでそのまま動くけど
2019/02/21(木) 17:41:05.62ID:DKuxuLxMa
>>913
Windows配布用と割り切った方がいいのかもしれない
Linuxだと管理下のサーバーかコンテナが多いからSCに拘る必要もない
2019/02/21(木) 18:56:24.09ID:IWeqLQBdd
最近のバッチはみんなSCDにしてる
らくちんらくちん
2019/02/21(木) 19:03:47.82ID:DKuxuLxMa
Goのように1バイナリにはならんものかね
2019/02/21(木) 19:11:19.09ID:IWeqLQBdd
>>916
https://github.com/dotnet/designs/pull/52
918デフォルトの名無しさん (ワッチョイ 5d2d-4qoz)
垢版 |
2019/02/26(火) 16:27:59.06ID:jgGxVc0K0
ちょくちょくポインタ代替機能についての質問があるけどさ
どんな用途でポインタを使いたいのかわかんないけど、大抵の場合はストリームで代用できるんじゃないのかな
2019/02/26(火) 19:45:51.64ID:KXA/2sKca
ID3タグとかバイナリ使うにゃ要るだろ
2019/02/26(火) 22:52:44.40ID:cz3vAcnh0
>>919
バイナリデータもストリームで扱える
2019/02/26(火) 23:01:06.66ID:w0dNr8TE0
バイナリ弄るならSpanでよくね?
2019/02/27(水) 22:56:28.74ID:0yfFFlZD0
ポインタなんかアンマネージとのやり取りとBitmapdataでしか使ったことないな
アンマネージとのやり取りだとrefとかoutにしとけばあとは何も考えなくていいから助かる
2019/03/02(土) 10:07:34.38ID:yMVoU8j+0
「変数aが1,4,5,7のいずれかである場合」
という論理式を書く場合
 (a==1) || (a==4) || (a==5) || (a==7)
とswitch文以外でもっと手っ取り早く書く方法ありますか?
2019/03/02(土) 10:20:00.75ID:Ud+LwFnR0
>>923
その表現が一番端的でわかりやすいのではないですか?
2019/03/02(土) 10:21:50.56ID:Vr07loEY0
>>923
()いらない
2019/03/02(土) 11:05:26.20ID:heck9gfNa
new [] {1, 4, 5, 7}.Contains(a)
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況