!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C#, C♯, C#相談室 Part96
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7633-kUv4)
2021/12/20(月) 11:03:25.88ID:sdn/+VfW0335デフォルトの名無しさん (オッペケ Sra3-5iuk)
2022/06/29(水) 11:54:18.32ID:anfh1Uacr c+4ってなるよりはマシ、、、
もっといいセンスあったやろなあ今更やが
もっといいセンスあったやろなあ今更やが
336デフォルトの名無しさん (ワッチョイ 4f5f-WSeP)
2022/06/29(水) 20:32:03.37ID:5BRKVkZj0 おジャ魔女どれみ#
337デフォルトの名無しさん (アウアウウー Sad3-GDq9)
2022/06/29(水) 21:36:03.92ID:ZbbkHISNa しょうがないんだ
あの時代は自称ヒッピーのキモオタ世界だったし、Microsoftはすべての商品名の他に社名までが究極的にゴミクソ脱糞太郎だからな
何が.NETだボケ
あの時代は自称ヒッピーのキモオタ世界だったし、Microsoftはすべての商品名の他に社名までが究極的にゴミクソ脱糞太郎だからな
何が.NETだボケ
338デフォルトの名無しさん (スップ Sd5f-hjm/)
2022/06/29(水) 22:13:24.27ID:MHsZYoUcd マイクロソフトボブおじさんおったよな
339デフォルトの名無しさん (アウアウウー Sad3-7uco)
2022/06/30(木) 08:36:25.96ID:vvnSi9+Ba csharpでよかったのに
340デフォルトの名無しさん (スッップ Sd5f-hjm/)
2022/06/30(木) 08:44:23.01ID:mxGmIKrnd +を四つ組み合わせたんやろ
341デフォルトの名無しさん (ワッチョイ cfad-GKPB)
2022/06/30(木) 09:02:49.53ID:RS+78JOl0 +++だとモデムがコマンドモードに入って具合悪いからな
342デフォルトの名無しさん (アウアウウー Sad3-sbT5)
2022/06/30(木) 11:25:19.25ID:l3rHcZB/a Cpp って C pre processor のことだろ
343デフォルトの名無しさん (ワッチョイ 3f3e-sii1)
2022/06/30(木) 23:55:35.01ID:yANzD8P40 底辺職業ランキングで c# プログラマが一位を獲得。
底辺職業の条件 3つ
1. 同じことを繰り返す。
for ループつかってるよね。
2. 誰でもできる
スタックオーバーフローを見れば、c#プログラミングなんて誰でもできる。
3. 体力勝負
https://i.imgur.com/0BRVa3M.jpg
c# アプリケーションのビルドが含まれているとのこと。
底辺職業の条件 3つ
1. 同じことを繰り返す。
for ループつかってるよね。
2. 誰でもできる
スタックオーバーフローを見れば、c#プログラミングなんて誰でもできる。
3. 体力勝負
https://i.imgur.com/0BRVa3M.jpg
c# アプリケーションのビルドが含まれているとのこと。
344デフォルトの名無しさん (ワッチョイ 8f63-2c2u)
2022/07/01(金) 02:57:28.78ID:I3o7r2ai0 はえ~最近の生ゴミは掲示板に投稿できるんですね
345デフォルトの名無しさん (ワッチョイ 0f63-tCSL)
2022/07/01(金) 15:22:31.26ID:svwhpzKm0 VisualStudio 2015 ターゲットフレームワーク .Net Framework 4.5.2
Shownイベントで発生した例外をApplication.ThreadExceptionでキャッチ
したいのですが期待する例外が届きません。
何が原因なのでしょうか。
public partial class Form1 : Form {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += ShowException;
Application.Run(new Form1());
}
private static void ShowException(object sender, ThreadExceptionEventArgs e) {
MessageBox.Show(e.Exception.ToString());
}
private void Test() {
try {
throw new Exception("1 起点");
}
catch (Exception ex) {
throw new Exception("2 期待する例外", ex);
}
}
public Form1() { InitializeComponent(); }
private void Form1_Shown(object sender, EventArgs e) { Test(); } //1が届く
private void button1_Click(object sender, EventArgs e) { Test(); } //2が届く
}
Shownイベントで発生した例外をApplication.ThreadExceptionでキャッチ
したいのですが期待する例外が届きません。
何が原因なのでしょうか。
public partial class Form1 : Form {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += ShowException;
Application.Run(new Form1());
}
private static void ShowException(object sender, ThreadExceptionEventArgs e) {
MessageBox.Show(e.Exception.ToString());
}
private void Test() {
try {
throw new Exception("1 起点");
}
catch (Exception ex) {
throw new Exception("2 期待する例外", ex);
}
}
public Form1() { InitializeComponent(); }
private void Form1_Shown(object sender, EventArgs e) { Test(); } //1が届く
private void button1_Click(object sender, EventArgs e) { Test(); } //2が届く
}
346デフォルトの名無しさん (ワッチョイ 3fad-boEX)
2022/07/01(金) 16:11:44.24ID:3n4aX0eh0 なぜサポート切れのバージョンを…
347デフォルトの名無しさん (ワッチョイ 0f6e-H0HQ)
2022/07/01(金) 20:14:48.14ID:dkEku/by0 古いのを使わないといけないプロジェクトに放り込まれる辛さってあるよね……
客先行ったらvisual studio 2010だと言われたときの絶望
客先行ったらvisual studio 2010だと言われたときの絶望
348デフォルトの名無しさん (ワッチョイ cf78-auNL)
2022/07/02(土) 00:00:46.05ID:thG8tJ450 >>345
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Form.cs,4908
理由は分らないけど↓が原因っぽい
this.BeginInvoke(new MethodInvoker(CallShownEvent));
試しにbuttun2を追加して以下のコードを実行したら同じ現象が発生した
private void button2_Click(object sender, EventArgs e) { BeginInvoke(new MethodInvoker(Test)); }
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Form.cs,4908
理由は分らないけど↓が原因っぽい
this.BeginInvoke(new MethodInvoker(CallShownEvent));
試しにbuttun2を追加して以下のコードを実行したら同じ現象が発生した
private void button2_Click(object sender, EventArgs e) { BeginInvoke(new MethodInvoker(Test)); }
349デフォルトの名無しさん (アウアウウー Sacf-l9hR)
2022/07/02(土) 04:41:25.58ID:F5+MIbFGa >>347
使わなければいけない理由って何だろう?慣例で使い続けてるのなら承諾得てバージョンアップするべきだし、予算の都合なら上を説得して稟議出すべき
使わなければいけない理由って何だろう?慣例で使い続けてるのなら承諾得てバージョンアップするべきだし、予算の都合なら上を説得して稟議出すべき
350デフォルトの名無しさん (ワッチョイ ca89-tv2t)
2022/07/02(土) 07:08:15.65ID:39Wf3KWj0351デフォルトの名無しさん (ワッチョイ 8a01-BQ8I)
2022/07/02(土) 09:45:46.45ID:At3W7bIA0 >>349
受託でも自社でもいいけど売り物の開発したことないのか?
新しいVSでる度に新バージョンに移行なんてやってられないぞ
なんのためにMSがサブスクで過去バージョン使えるようにしてると思ってるんだよ
受託でも自社でもいいけど売り物の開発したことないのか?
新しいVSでる度に新バージョンに移行なんてやってられないぞ
なんのためにMSがサブスクで過去バージョン使えるようにしてると思ってるんだよ
352デフォルトの名無しさん (スッップ Sdaa-8NLY)
2022/07/02(土) 10:15:43.97ID:2EN85JI9d VS2022スレに書くか迷ったけどスレの勢いがありそうなこちらに
razorページ書いてて、コード部分や変数部分が色が変わるけど、ページスクロールさせていくと一定の場所からプロパティの色がとぶ
上に戻ると表示は直る、消えているときは数秒ごとに付くべき色が一瞬ちらつく
メソッドの定義なんかは色が付いたまま
考えられる原因ってありますかねぇ
伝わるかどうか不安ですが、、、
razorページ書いてて、コード部分や変数部分が色が変わるけど、ページスクロールさせていくと一定の場所からプロパティの色がとぶ
上に戻ると表示は直る、消えているときは数秒ごとに付くべき色が一瞬ちらつく
メソッドの定義なんかは色が付いたまま
考えられる原因ってありますかねぇ
伝わるかどうか不安ですが、、、
353デフォルトの名無しさん (ワッチョイ 27ad-96ld)
2022/07/02(土) 10:47:08.32ID:Nqfsnfr90 VSが力尽きた
354デフォルトの名無しさん (ワッチョイ 8a02-yupI)
2022/07/02(土) 10:49:08.06ID:3bhPD9xQ0 メモリを32GBは積まないと無理だぞ
355デフォルトの名無しさん (ワッチョイ 8710-auNL)
2022/07/02(土) 14:01:01.27ID:qdkCWbbw0356デフォルトの名無しさん (ワッチョイ a3e3-NvsD)
2022/07/02(土) 15:55:12.45ID:Hl2BGrbY0 >>349
上がVSとターゲットビルドバージョンの区別がついてないから
上がVSとターゲットビルドバージョンの区別がついてないから
357デフォルトの名無しさん (アウアウウー Sacf-zUVh)
2022/07/06(水) 10:36:39.11ID:Eu330xAsa C#の関数ポインタでstaticなメソッド(GC管理下)のアドレスを保持するとき、GCによってアドレスが移動して参照出来なくなる、といったことはありえますか?
358デフォルトの名無しさん (ワッチョイ 0a24-Zn5V)
2022/07/06(水) 12:46:13.50ID:I0+9VWih0 関数のアドレスが移動することはない
dllのアンロードにより消え去ることはあり得るがそれはプログラマの責任
dllのアンロードにより消え去ることはあり得るがそれはプログラマの責任
359デフォルトの名無しさん (アウアウウー Sacf-zUVh)
2022/07/06(水) 13:18:48.55ID:Eu330xAsa >>358
ありがとうございます。うまく調べられなかったので助かりました
ありがとうございます。うまく調べられなかったので助かりました
360デフォルトの名無しさん (ワッチョイ 8749-hFrK)
2022/07/06(水) 14:13:11.32ID:L8iINPbs0 いえいえ
361デフォルトの名無しさん (ワッチョイ 27ad-96ld)
2022/07/06(水) 16:59:30.96ID:4c2uM/uj0 あたらなければどうということはない
362デフォルトの名無しさん (ワッチョイ 8a02-yupI)
2022/07/06(水) 22:44:44.73ID:VxYrHSBA0 夏は〆鯖に限るな
363デフォルトの名無しさん (ワッチョイ 5301-bw8e)
2022/07/06(水) 23:10:42.62ID:c/WBgrCD0 猪&鹿&鳥の刺身とセットでドゾー
364デフォルトの名無しさん (アウアウウー Sacf-96ld)
2022/07/07(木) 05:50:37.22ID:Zmd+D9aAa 蝶もうまいよ
365デフォルトの名無しさん (スプッッ Sd43-UXSH)
2022/07/11(月) 08:41:37.48ID:9VbmZwXxd blazor触ってるんですが、デバッグでチェックしていると
開発ツールでbodyタグの最後に
live-preview-rootというタグが入って
hiddenのdiv内にsrcがYouTubeのアドレスの入ったiframeが入るんですが、なんですかねこれ、、、
アドレスはyotubeのあとにstaticやらscheduleなどが続いていて、踏んでもソースがでるだけ
ページ表示させただけでは出てなくて、開発ツールの要素にだけ出てくるのですが、ビルドしてサーバに置いた場合は出ない、、、あくまでもデバッグ中のページのみ
そもそもプロジェクト内にはYouTubeの文言はないし、クロームでもedgeでもでます
vsの仕様なのか、なんなのか、、、
心当たりある方いますか?
開発ツールでbodyタグの最後に
live-preview-rootというタグが入って
hiddenのdiv内にsrcがYouTubeのアドレスの入ったiframeが入るんですが、なんですかねこれ、、、
アドレスはyotubeのあとにstaticやらscheduleなどが続いていて、踏んでもソースがでるだけ
ページ表示させただけでは出てなくて、開発ツールの要素にだけ出てくるのですが、ビルドしてサーバに置いた場合は出ない、、、あくまでもデバッグ中のページのみ
そもそもプロジェクト内にはYouTubeの文言はないし、クロームでもedgeでもでます
vsの仕様なのか、なんなのか、、、
心当たりある方いますか?
366デフォルトの名無しさん (スプッッ Sd43-UXSH)
2022/07/11(月) 08:44:44.50ID:9VbmZwXxd ちなみにテンプレートからの新規作成プロジェクトの時点出てるので、ソースそのものの問題ではないと思うのですが
367デフォルトの名無しさん (オイコラミネオ MM51-TkQT)
2022/07/11(月) 09:04:43.64ID:DQKxRie+M Choromeだけじゃなくて他のでもひらいてみ
368デフォルトの名無しさん (スプッッ Sd43-UXSH)
2022/07/11(月) 12:21:14.47ID:iwvb/poMd >>367
最初に気づいたのがEdgeで、Chromeでも同じでした
Firefoxだと、live-preview-root #shadow-root(open)までで
iframeにYouTubeへのリンクは出ませんでした
EdgeってChromeベースで、Googleのスクリプトみたいなのが
勝手に差し込まれるんですかね、、、
最初に気づいたのがEdgeで、Chromeでも同じでした
Firefoxだと、live-preview-root #shadow-root(open)までで
iframeにYouTubeへのリンクは出ませんでした
EdgeってChromeベースで、Googleのスクリプトみたいなのが
勝手に差し込まれるんですかね、、、
369デフォルトの名無しさん (ワッチョイ cb2c-0UEB)
2022/07/11(月) 19:29:42.75ID:plmq8H3m0 たぶん、便利な開発用ツールか何かじゃないの?
370デフォルトの名無しさん (アウアウウー Sa09-WuFg)
2022/07/30(土) 18:54:16.32ID:jErZjSQja 皆さん、インクリメントとデクリメントについてどのようにお考えですか?
個人的にこれを使うことに抵抗があります(無知が理由で)
特に、内部メソッド等にローカルなintを渡して処理後に1だけ加算したいときってよくあると思うんですが、
int num = 0;
M(num); num++; これと
M(num++); これは、本当に常に一致してくれるんでしょうか?
IL上での違いはこんな感じでした
// M(num);
IL_0003: ldloc.0
IL_0004: call void C::'<M>g__M|0_0'(int32)
IL_0009: nop
// num++;
IL_000a: ldloc.0
IL_000b: ldc.i4.1
IL_000c: add
IL_000d: stloc.0
IL_000e: nop
// M(num++);
IL_0003: ldloc.0
IL_0004: dup
IL_0005: ldc.i4.1
IL_0006: add
IL_0007: stloc.0
IL_0008: call void C::'<M>g__M|0_0'(int32)
IL_000d: nop
IL_000e: nop
これって最終的には同じコードなんでしょうか?
可読性以外の差異がありましたら教えていただけないでしょうか。よろしくお願いします
個人的にこれを使うことに抵抗があります(無知が理由で)
特に、内部メソッド等にローカルなintを渡して処理後に1だけ加算したいときってよくあると思うんですが、
int num = 0;
M(num); num++; これと
M(num++); これは、本当に常に一致してくれるんでしょうか?
IL上での違いはこんな感じでした
// M(num);
IL_0003: ldloc.0
IL_0004: call void C::'<M>g__M|0_0'(int32)
IL_0009: nop
// num++;
IL_000a: ldloc.0
IL_000b: ldc.i4.1
IL_000c: add
IL_000d: stloc.0
IL_000e: nop
// M(num++);
IL_0003: ldloc.0
IL_0004: dup
IL_0005: ldc.i4.1
IL_0006: add
IL_0007: stloc.0
IL_0008: call void C::'<M>g__M|0_0'(int32)
IL_000d: nop
IL_000e: nop
これって最終的には同じコードなんでしょうか?
可読性以外の差異がありましたら教えていただけないでしょうか。よろしくお願いします
371デフォルトの名無しさん (ワッチョイ f102-1wwR)
2022/07/30(土) 19:14:00.13ID:Syvf1c+c0 そんなに気になるならデバッグで逆アセンブルコードでも見ればええやん
372デフォルトの名無しさん (ラクッペペ MMee-kNao)
2022/07/30(土) 19:16:04.98ID:1KJkNmDVM >>370
引数の値の評価が違う
前者
numを評価(変数numの値は0)→M呼出し(引数の値は0)→num++を評価(変数numの値は1)
後者
num++を評価(変数numの値は1)→M呼出し(引数の値は1)→変数numの値は1
引数の値の評価が違う
前者
numを評価(変数numの値は0)→M呼出し(引数の値は0)→num++を評価(変数numの値は1)
後者
num++を評価(変数numの値は1)→M呼出し(引数の値は1)→変数numの値は1
373デフォルトの名無しさん (テテンテンテン MMee-D2l6)
2022/07/30(土) 19:48:51.18ID:Qp1EMWGTM あれ、
「m(++num)」ってインクリメントが前なら引数が加算後の1になるのは分かるんだけど
「m(num++)」だと加算前の0が引数になるんじゃ?と思った
個人的にはインクリメント結果を代入したり引数にしたりする使い方は禁忌とすべきだと思う
使っていいのは単項目で「i++;」みたいなことをするときだけにしておきたい
できることならfor (var i=0; i<length; i++)みたいな定型for以外は面倒でも
「i = i + 1;」と書かせたいくらいだなあ
「m(++num)」ってインクリメントが前なら引数が加算後の1になるのは分かるんだけど
「m(num++)」だと加算前の0が引数になるんじゃ?と思った
個人的にはインクリメント結果を代入したり引数にしたりする使い方は禁忌とすべきだと思う
使っていいのは単項目で「i++;」みたいなことをするときだけにしておきたい
できることならfor (var i=0; i<length; i++)みたいな定型for以外は面倒でも
「i = i + 1;」と書かせたいくらいだなあ
374デフォルトの名無しさん (ワッチョイ 0a2d-gOJn)
2022/07/30(土) 19:49:39.77ID:x7sp4WG30375デフォルトの名無しさん (ラクッペペ MMee-kNao)
2022/07/30(土) 20:09:53.26ID:2QzW5DDXM 言語仕様としては厳密には未定義なのかも知れないが、少なくとも>>370のILの中身見た限りでは引数評価後に関数呼び出しが行われる様に実装されてる
376デフォルトの名無しさん (ラクッペペ MMee-kNao)
2022/07/30(土) 20:14:24.72ID:2QzW5DDXM 未定義というより環境依存かな
大抵の言語では関数の呼出しと引数の評価順は明確化されてないのでいわゆる副作用として扱われる
大抵の言語では関数の呼出しと引数の評価順は明確化されてないのでいわゆる副作用として扱われる
377デフォルトの名無しさん (ワッチョイ 0a2d-gOJn)
2022/07/30(土) 20:48:41.87ID:x7sp4WG30378デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
2022/07/30(土) 22:50:30.62ID:zHogqexf0 >>376
複数の引数の評価順が未規定なのはよくあるけど引数の評価前に関数呼出するような言語なんてあったっけ?
複数の引数の評価順が未規定なのはよくあるけど引数の評価前に関数呼出するような言語なんてあったっけ?
379デフォルトの名無しさん (ワッチョイ f102-1wwR)
2022/07/30(土) 22:54:13.72ID:Syvf1c+c0 そういう読み違いが発生しそうなコーディングすんなって事でいいのでは
380デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
2022/07/30(土) 23:20:24.67ID:zHogqexf0 言語仕様の話とコーディングルールの話をごっちゃにすんなよ
381デフォルトの名無しさん (ワッチョイ f102-1wwR)
2022/07/30(土) 23:41:50.24ID:Syvf1c+c0 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#1141-general
Operands in an expression are evaluated from left to right.
Example: In F(i) + G(i++) * H(i),
method F is called using the old value of i,
then method G is called with the old value of i, and,
finally, method H is called with the new value of i.
This is separate from and unrelated to operator precedence.
Operands in an expression are evaluated from left to right.
Example: In F(i) + G(i++) * H(i),
method F is called using the old value of i,
then method G is called with the old value of i, and,
finally, method H is called with the new value of i.
This is separate from and unrelated to operator precedence.
382デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
2022/07/31(日) 00:12:35.62ID:UwyiR8NW0383デフォルトの名無しさん (スップ Sd9a-V/2h)
2022/08/01(月) 13:24:37.35ID:kNeknzrgd 複数の評価が連続した場合の副作用完了点は大抵の言語で規定されてない
例えば上の様に関数に与える引数の中の式で副作用を起こす場合これに該当する
例えば上の様に関数に与える引数の中の式で副作用を起こす場合これに該当する
384デフォルトの名無しさん (オイコラミネオ MMed-woMg)
2022/08/07(日) 00:16:44.36ID:pGypWfdHM VC++は未定義動作でーすでバージョン変わったら評価順も変わって結果が変わる
cout <<i++ <<i++<<i++<<i++<<i++<<i++;
cout <<i++ <<i++<<i++<<i++<<i++<<i++;
385デフォルトの名無しさん (ワッチョイ 1324-SMvG)
2022/08/08(月) 16:40:20.17ID:Zu2CvCE20 C++は17か20で言語として評価順定義されるようになった
386デフォルトの名無しさん (ワッチョイ ebbb-qy/x)
2022/08/08(月) 16:57:09.86ID:0tCAtbwJ0 この辺の仕様全然詳しくないけどさ
++numとか分かりにくいし行儀悪いし個人的にはいらないと感じる
num++だけありゃいい
for文の++iteとかこんがらがるからマジやめてほしい
++numとか分かりにくいし行儀悪いし個人的にはいらないと感じる
num++だけありゃいい
for文の++iteとかこんがらがるからマジやめてほしい
387デフォルトの名無しさん (ワッチョイ 0101-GG26)
2022/08/08(月) 18:45:13.05ID:D1YR1/+G0 static int i;
i += i++ + ++i;
i += i++ + ++i;
388デフォルトの名無しさん (ワッチョイ 1324-SMvG)
2022/08/09(火) 11:28:31.41ID:fi8MqYS+0 >>386
for (int i = 0; i < end; ++i)とした方がコンパイラへの負担が少なく最適化が効きやすかった時代があったからな
前方演算は一時バッファが必要ないからね
そもそも前方演算は普通に多用するし意味も一目で分かると思うが
for (int i = 0; i < end; ++i)とした方がコンパイラへの負担が少なく最適化が効きやすかった時代があったからな
前方演算は一時バッファが必要ないからね
そもそも前方演算は普通に多用するし意味も一目で分かると思うが
389デフォルトの名無しさん (ワッチョイ 1310-woMg)
2022/08/09(火) 11:36:38.83ID:niqQpNGr0 >>387
これの結果を教えてください
これの結果を教えてください
390デフォルトの名無しさん (ワッチョイ ebbb-qy/x)
2022/08/09(火) 12:52:49.39ID:r/lnXFyZ0 >>388
書き方が悪かったな
記法はnum++か++numのどっちかに限定されてりゃ機能的には前方演算だけでいいと思ってるよ
for文の中とかで++iteって書くかite++って書くかで挙動が変わるのが直感的じゃないって話な
そもそもC#はforeach使うんだから++ite or ite++なんてC/C++でしか見ないし
使い分けるメリットより処理の流れがぱっと見で分かりにくくなるデメリットのがでかい
書き方が悪かったな
記法はnum++か++numのどっちかに限定されてりゃ機能的には前方演算だけでいいと思ってるよ
for文の中とかで++iteって書くかite++って書くかで挙動が変わるのが直感的じゃないって話な
そもそもC#はforeach使うんだから++ite or ite++なんてC/C++でしか見ないし
使い分けるメリットより処理の流れがぱっと見で分かりにくくなるデメリットのがでかい
391デフォルトの名無しさん (テテンテンテン MM8b-ZZ1N)
2022/08/09(火) 13:49:05.69ID:2iss01tUM C++は欠陥言語
392デフォルトの名無しさん (ワッチョイ 1301-lJ3c)
2022/08/09(火) 13:59:36.63ID:1M0VmsOK0 そりゃ整数とかなら n++ でも ++n でもほぼ変わらんコード吐くけどクラスのインタンス変数だと n++ は前の値をコピーしとかないとダメなケースがあるからまとめられたら困るよ
393デフォルトの名無しさん (ワッチョイ 0101-GG26)
2022/08/09(火) 18:49:35.78ID:FsWZlIco0394デフォルトの名無しさん (スップ Sd73-mkdh)
2022/08/10(水) 08:46:49.99ID:hWDzUiQ9d C++の++の意味を考えようね
395デフォルトの名無しさん (アウアウウー Sa55-gTvx)
2022/08/12(金) 14:03:40.45ID:KG7cCtIla >>392
クラスのこれがあるから++nが身に染み付いたわ
クラスのこれがあるから++nが身に染み付いたわ
396デフォルトの名無しさん (ワッチョイ aebb-oUG4)
2022/08/13(土) 00:12:15.52ID:bvO6Jh/U0397デフォルトの名無しさん (アウアウウー Saa5-Uudr)
2022/08/13(土) 04:27:04.87ID:OsxM9aZ0a398デフォルトの名無しさん (ワッチョイ c224-lIuZ)
2022/08/18(木) 12:03:10.49ID:4iAYLuqc0 .Net Core以上だとビッグエンディアン環境にも対応するようだけど、ターゲットOSをWindowsにしてビルドする限りは100%リトルエンディアンって認識で大丈夫?
窓用である限り絶対にLEであるならLEなバイナリファイルに対してポインタ使いたいんだけど
窓用である限り絶対にLEであるならLEなバイナリファイルに対してポインタ使いたいんだけど
399デフォルトの名無しさん (ワッチョイ 2e2c-O3lh)
2022/08/18(木) 12:14:08.73ID:1q98B+xd0 そこまで実行環境限定できないなら
Main直後にエンディアン調べてビッグエンディアンでは動きませーんってメッセージだしときゃいいんじゃね
今なくても未来永劫ないとはいえんわけだし
Main直後にエンディアン調べてビッグエンディアンでは動きませーんってメッセージだしときゃいいんじゃね
今なくても未来永劫ないとはいえんわけだし
400デフォルトの名無しさん (テテンテンテン MM26-BbL+)
2022/08/18(木) 12:14:49.68ID:nbqSIqDKM いいのでは
っていうか、今の時代のビッグエンディアン環境ってどんなんだろ
っていうか、今の時代のビッグエンディアン環境ってどんなんだろ
401デフォルトの名無しさん (アウアウウー Saa5-KAJr)
2022/08/18(木) 12:26:04.24ID:zre7odKUa ネットワークバイトオーダーは死んだのか
402デフォルトの名無しさん (ササクッテロル Spf1-18Wl)
2022/08/18(木) 13:30:14.03ID:oAeyX7Mzp 国葬されました
403デフォルトの名無しさん (ワッチョイ aebb-oUG4)
2022/08/18(木) 15:34:48.73ID:SUTQRi3H0 反対します!
404デフォルトの名無しさん (ワッチョイ 4201-8lLW)
2022/08/18(木) 16:39:49.05ID:X/mZUHYK0 >>400
汎用機で動かすとか
汎用機で動かすとか
405デフォルトの名無しさん (ワッチョイ 9901-kLe4)
2022/08/18(木) 17:19:03.68ID:PFNC2u5+0 >>400
powerpc とか
powerpc とか
406デフォルトの名無しさん (ワッチョイ dd5f-AF7r)
2022/08/18(木) 18:28:37.54ID:q5oXxkWm0 64bitの時代でもリトルエンディアンとか関係あるのか
バイナリデータを直接操作する用途以外は関係ないんじゃないの
バイナリデータを直接操作する用途以外は関係ないんじゃないの
407デフォルトの名無しさん (ワッチョイ 9901-kLe4)
2022/08/18(木) 19:20:00.05ID:PFNC2u5+0 I/Oが一切発生しないコンピューターならそうかもな
408デフォルトの名無しさん (ワッチョイ 4d2f-O3lh)
2022/08/19(金) 00:53:24.27ID:OSKKwF+I0 バイナリ「データ」のファイルなら、自分でフォーマット決めとけばいいだけじゃ?
コードを直接バイナリファイルでどうこうするって話?
.NETのプログラムってVM上で動いていると思ったんだが、CORE以降だと違うのか?
コードを直接バイナリファイルでどうこうするって話?
.NETのプログラムってVM上で動いていると思ったんだが、CORE以降だと違うのか?
409デフォルトの名無しさん (ワッチョイ 4201-8lLW)
2022/08/19(金) 06:05:35.26ID:MAIXTOEK0410デフォルトの名無しさん (ワッチョイ dd5f-vHmA)
2022/08/19(金) 06:23:56.59ID:YuhQFNoo0 マシン語やアセンブリ言語だと
CPUの仕様によってコードの並び順を考えなきゃいけないだろうが
C#ではコンパイラで全部やってくれるから気にしなくて良いんじゃないの
CPUの仕様によってコードの並び順を考えなきゃいけないだろうが
C#ではコンパイラで全部やってくれるから気にしなくて良いんじゃないの
411デフォルトの名無しさん (アウアウウー Saa5-KAJr)
2022/08/19(金) 07:13:48.79ID:QMISJLeVa なにをいってるんだ
412デフォルトの名無しさん (オイコラミネオ MM49-5Ix7)
2022/08/19(金) 19:22:41.70ID:CKALhjuSM バイナリファイルがあってそれがビッグエンディアンかリトルエンディアンか分かってないなら
どちらにしても意味がない
プログラムがとかc#がとかいう前の段階
どちらにしても意味がない
プログラムがとかc#がとかいう前の段階
413デフォルトの名無しさん (アウアウウー Sa63-ruds)
2022/08/25(木) 12:01:45.09ID:Kj4JFaopa414デフォルトの名無しさん (アウアウウー Sa63-ruds)
2022/08/25(木) 12:06:29.77ID:Kj4JFaopa415デフォルトの名無しさん (ワッチョイ eebb-JjaS)
2022/08/30(火) 23:48:03.75ID:wcZ40xDv0 IEnumrable<T>に.ForEach拡張がデフォルトで用意されてないのは端的に言って何故?
List<T>にはあるのに
↓の問題は?速度?
public static void ForEach<T>(this IEnumerable<T> items, Action<T> action) {
foreach (var item in items) {
action(item);
}
}
List<T>にはあるのに
↓の問題は?速度?
public static void ForEach<T>(this IEnumerable<T> items, Action<T> action) {
foreach (var item in items) {
action(item);
}
}
416デフォルトの名無しさん (ワッチョイ 4201-hjXB)
2022/08/31(水) 00:06:13.35ID:IP5lcB3x0417デフォルトの名無しさん (スップ Sdea-TRym)
2022/09/12(月) 18:39:52.16ID:Ws5FMSEUd ソートの質問です。
タブ区切りのCSVファイルを1行ずつそのままlistに入れた後、list の区切り[16]と[17]に数字が入っていてこれを[17]優先、次に[16]で降順ソートがしたいです。
調べるとラムダ式という便利そうなものが引っかかるのですが、区切って使用することは出来るんですかね?
タブ区切りのCSVファイルを1行ずつそのままlistに入れた後、list の区切り[16]と[17]に数字が入っていてこれを[17]優先、次に[16]で降順ソートがしたいです。
調べるとラムダ式という便利そうなものが引っかかるのですが、区切って使用することは出来るんですかね?
418デフォルトの名無しさん (ワッチョイ 1507-Nn/6)
2022/09/12(月) 18:48:00.24ID:pGdD9pkE0 CSVをそのまま使うんじゃねえ
読み込んだらパースしてオブジェクトに直せ
パースはstring.splitとか使ってるやつ多いがバグを防ぐためにcsvhelperとか使え
読み込んだらパースしてオブジェクトに直せ
パースはstring.splitとか使ってるやつ多いがバグを防ぐためにcsvhelperとか使え
419デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/12(月) 21:33:05.70ID:57KFzM310 >>417
var sorted = File.ReadAllLines("data.csv").Select(line => line.Split(',')).OrderByDescending(x => int.Parse(x[17])).ThenByDescending(x => int.Parse(x[16]));
var sorted = File.ReadAllLines("data.csv").Select(line => line.Split(',')).OrderByDescending(x => int.Parse(x[17])).ThenByDescending(x => int.Parse(x[16]));
420デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/12(月) 21:37:18.87ID:57KFzM310 タブ区切りか
それTSVやん
まあソートの方が要点だろうからパースの方はご自由に
それTSVやん
まあソートの方が要点だろうからパースの方はご自由に
421デフォルトの名無しさん (アウアウウー Sa21-Nn/6)
2022/09/12(月) 21:41:44.89ID:WJNzCKdga tsvはcsvの一種だがどうしてお前らはsplitを使いたがるんだ
422デフォルトの名無しさん (ワッチョイ 6978-OdF3)
2022/09/12(月) 21:49:03.68ID:LNujs6wk0 区切りが制御文字だったらまぁ許せる
423デフォルトの名無しさん (ワッチョイ 3abd-TRym)
2022/09/12(月) 23:47:17.20ID:dk7j9tfb0424デフォルトの名無しさん (ワッチョイ 1507-Nn/6)
2022/09/13(火) 01:03:32.30ID:8hsXm+8m0 今度はsortedが文字列になってないと言い出すぞ
425デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/13(火) 09:51:22.32ID:ezVKzpwg0 >>423
File.ReadAllLines("data.csv").Select(line => line.Split(','))
↑ここまでがcsvをカンマで区切るコードでタブ区切りならSplit('\t')に変えてね
上で言われてるようにSplitだとセル内文字として'\t'が入ってると全てズレてきてしまうのでガチでやるなら専用のパーサーライブラリに頼るべきだが
File.ReadAllLines("data.csv").Select(line => line.Split(','))
↑ここまでがcsvをカンマで区切るコードでタブ区切りならSplit('\t')に変えてね
上で言われてるようにSplitだとセル内文字として'\t'が入ってると全てズレてきてしまうのでガチでやるなら専用のパーサーライブラリに頼るべきだが
426デフォルトの名無しさん (テテンテンテン MM3e-F+o0)
2022/09/13(火) 12:26:30.00ID:I78luoMLM 手抜きCSV実装はバグの元なのでライブラリ使え
規格に沿って真面目に実装するとそれなりに面倒
規格に沿って真面目に実装するとそれなりに面倒
427デフォルトの名無しさん (ワッチョイ e6bb-VPVD)
2022/09/13(火) 12:40:20.37ID:IWUAvQuR0 csvの標準って無かったはずだけど?
infoのrfcのこと言ってる?
infoのrfcのこと言ってる?
428デフォルトの名無しさん (ワッチョイ b501-lsvC)
2022/09/13(火) 12:43:16.28ID:OYU/TjHO0 csvはsuper calc のデータ形式
429デフォルトの名無しさん (ワッチョイ 1110-OdF3)
2022/09/13(火) 18:29:27.33ID:N+nHMRy40 Microsoft.VisualBasic.FileIO.TextFieldParser がお勧め。
本来はVB用のライブラリだが普通にC#からも呼び出せる。
本来はVB用のライブラリだが普通にC#からも呼び出せる。
430デフォルトの名無しさん (ワッチョイ eaad-5ozR)
2022/09/13(火) 19:05:00.69ID:Q9r0zfg80 何がおすすめなんだか…
431デフォルトの名無しさん (ラクッペペ MM3e-jm1v)
2022/09/13(火) 19:09:49.55ID:zXX+ut2QM dllがいらない!
432デフォルトの名無しさん (ワッチョイ a902-2m22)
2022/09/13(火) 19:13:35.91ID:u48XvMAP0 フィールドに改行もダブルクォートもカンマも使わんならSplitでええけど
そうじゃないならCSVHelper使っとけ
そうじゃないならCSVHelper使っとけ
433デフォルトの名無しさん (ワッチョイ ea2c-aQ9k)
2022/09/14(水) 00:45:14.45ID:Y/jBtdol0 Ruby で作った
タブ区切りの入力ファイル・input.tsv が以下の時、
-1 1.1
-2 -2.2
5 1.1
3 3.3
1 1.1
require 'csv'
# タブ区切りで、:numeric は、:integer と :float の組み合わせ
options = { col_sep: "\t", converters: :numeric }
table = CSV.read( "input.tsv", options )
sorted_ary = table.sort_by do |col_0, col_1|
[ col_1, -col_0 ] # col_1 の昇順で、col_0 の降順
end
p sorted_ary
出力
[[-2, -2.2], [5, 1.1], [1, 1.1], [-1, 1.1], [3, 3.3]]
タブ区切りの入力ファイル・input.tsv が以下の時、
-1 1.1
-2 -2.2
5 1.1
3 3.3
1 1.1
require 'csv'
# タブ区切りで、:numeric は、:integer と :float の組み合わせ
options = { col_sep: "\t", converters: :numeric }
table = CSV.read( "input.tsv", options )
sorted_ary = table.sort_by do |col_0, col_1|
[ col_1, -col_0 ] # col_1 の昇順で、col_0 の降順
end
p sorted_ary
出力
[[-2, -2.2], [5, 1.1], [1, 1.1], [-1, 1.1], [3, 3.3]]
434デフォルトの名無しさん (ワッチョイ e5ad-XV74)
2022/09/14(水) 01:24:45.04ID:ZnLQmmJg0 ルビ基地
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市早苗政権の発足から1カ月強が経過、日経平均、国債、円下落、世界経済に深刻な波乱を招きかねないリスクが浮上 [バイト歴50年★]
- トランプ大統領、米台関係深化に向けた法案に署名 ★3 [少考さん★]
- 中国公演中止嘆くミュージシャン、批判的な声に「一体ここはいつの時代の日本なのだ?」「日本帝国時代の轍を踏まないようにしなくては」 [muffin★]
- チキンラーメンやカップヌードル、来年4月から5-11%値上げ…袋麺の日清ラ王などは内容量減らす [蚤の市★]
- 北川景子『お好み焼き+白米』組み合わせに夫・DAIGOは「どっちも炭水化物でしょ?どっちかでいいんじゃない?」否定的で「違う違う」 [muffin★]
- 【対日戦略】中国とロシア、対日共闘で一致 「軍国主義復活に反撃」… [BFU★]
- 【高市悲報】チキンラーメン(5食パック)「730円」。 [153490809]
- 【高市速報】高市早苗首相、国会答弁にて日中共同声明を断固支持してしまう。中国の大勝利に [483862913]
- 日本政府「助けて!高市早苗は論外だから降ろそうとしてるんだけど初期に工作費使いすぎて大量発生した野良高市応援団に妨害されるの!」 [517791167]
- こんこんきーつね、紙面を飾るなと言ったのに飾ってしまう…🏡
- 【悲報】ホロライブ、ガチのマジで終了へ
- 厚労省「トラック運転手は4時間走ったら30分やすめ!」👉パーキングがトラックで溢れて崩壊 [329329848]
