「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part134
http://mevius.5ch.net/test/read.cgi/tech/1511951038/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part135
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8b75-uWnk)
2018/02/04(日) 22:02:28.59ID:FbKpa1HN028デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:22:45.29ID:GlpP/XMd0 enum enDispNum { min = 2, max = 5 };
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //エラー
int[] dispno = new int[] {2,5}; //OK
int aa = (int)enDispNum.max; //OK
enumの挙動がわからん。なんで?
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //エラー
int[] dispno = new int[] {2,5}; //OK
int aa = (int)enDispNum.max; //OK
enumの挙動がわからん。なんで?
29デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:26:30.78ID:GlpP/XMd0 enum enDispNum {dumy, min = 2, max = 5 };
ダミーいれたら動いた。w 笑かす。
ダミーいれたら動いた。w 笑かす。
30デフォルトの名無しさん (ワキゲー MMdf-lmiZ)
2018/02/05(月) 12:26:34.45ID:Bh+ceQwrM エラーメッセージ読めば? うちでは再現しないけど
31デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:31:57.15ID:GlpP/XMd0 enum enDispNum:int {dumy, min = 2, max = 5 };
宣言で int 明示してもcastしないとエラーする。 Dumyがないとエラーするし
キャストしないと駄目だし、なんか使いにくいな。
宣言で int 明示してもcastしないとエラーする。 Dumyがないとエラーするし
キャストしないと駄目だし、なんか使いにくいな。
32デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:35:37.13ID:GlpP/XMd0 >30
エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
33デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:40:51.97ID:GlpP/XMd0 >30
同じように2,5で数値していをしてごらん。きっと笑えると思う。
dumyがなくても min=0なら動作するんだろう。おそらく。
例文みたらどれもこれも、数値していがないか、0は一つある。この場合は
dumy=0が暗黙定義されると見た。
同じように2,5で数値していをしてごらん。きっと笑えると思う。
dumyがなくても min=0なら動作するんだろう。おそらく。
例文みたらどれもこれも、数値していがないか、0は一つある。この場合は
dumy=0が暗黙定義されると見た。
34デフォルトの名無しさん (アウアウウー Sa5b-w+Fq)
2018/02/05(月) 12:42:14.26ID:fj9fHmyPa35デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:47:43.95ID:GlpP/XMd0 それだとdummyがなくても動く。不思議な、、、
36デフォルトの名無しさん (ワキゲー MMdf-lmiZ)
2018/02/05(月) 12:51:23.30ID:Bh+ceQwrM37デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 12:55:22.36ID:GlpP/XMd0 そうか。再現する物もあれば、しないものもある。()でくくるといけるものもある。
しかしenumを使う時は
1. dummyを入れる。
2.宣言でキャストしても 個別に必ずキャストすること。
というのを守った方がいいかも。
しかしenumを使う時は
1. dummyを入れる。
2.宣言でキャストしても 個別に必ずキャストすること。
というのを守った方がいいかも。
38デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/05(月) 12:58:14.07ID:GhnQpqxTa なんでそうなるw
確実の君が何か変な勘違いしてるだけだってww
確実の君が何か変な勘違いしてるだけだってww
39デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 13:02:01.82ID:GlpP/XMd0 「dummy を入れたらコンパイルエラーが止まる。正常にコンパイルされて
動作も正常に動作する。」
この理由を説明してごらんよ。
dummyを入れる以外にはなにも変更していない。
動作も正常に動作する。」
この理由を説明してごらんよ。
dummyを入れる以外にはなにも変更していない。
40デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 13:08:04.86ID:GlpP/XMd0 やっぱ想像したとおりだ。min=0にしたら
enum enDispNum:int {min = 0, max = 5 };
これなら
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //OK
これでもOKだ。コンパイルエラーしない。
enum enDispNum:int {min = 0, max = 5 };
これなら
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //OK
これでもOKだ。コンパイルエラーしない。
41デフォルトの名無しさん (ワキゲー MMdf-lmiZ)
2018/02/05(月) 13:40:21.31ID:Bh+ceQwrM まあ特殊なコンパイラ使っててそれがバグってるんだろう
とりあえず.NET Framework向けのMS製csc.exeは
> エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
このエラーが出た場合「エラー 1」じゃなくて「error CS0266」って出すし
とりあえず.NET Framework向けのMS製csc.exeは
> エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
このエラーが出た場合「エラー 1」じゃなくて「error CS0266」って出すし
42デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 14:18:42.87ID:GlpP/XMd0 VS2013(Pro)だよ。Update5 .NETは4.7
因みにエラー1は一覧の番号だろ。一覧をコピペしただけだから。最初のエラーって意味だ。
2番目のエラーはない。
因みにエラー1は一覧の番号だろ。一覧をコピペしただけだから。最初のエラーって意味だ。
2番目のエラーはない。
43デフォルトの名無しさん (スップ Sd3f-uiFW)
2018/02/05(月) 14:22:50.07ID:mbLKcWnpd >>42
コンパイラの話題じゃないの?
コンパイラの話題じゃないの?
44デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 14:25:03.58ID:GlpP/XMd0 どういう意味、VSで別のコンパイラーを動かすってこと? そんな高度なこと知りません。
標準のWindowsFormアプリケーションだよ。
標準のWindowsFormアプリケーションだよ。
45デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 14:25:56.59ID:GlpP/XMd0 List<List<Label>> ccValueSetLabel = new List<List<Label>>();
private void DataRefresh(List<List<double>> datasc)
{
int colcount = 0;
foreach (var dev in ccValueSetLabel)
{
var datas = datasc[colcount++];
List<string> strdt = new List<string> ();
int count=0;
par.GetInstance().ElDataList.ForEach(x => strdt.Add(string_format(x.format, datas[count++])));
count = 0; dev.ForEach(x => x.Text = strdt[count++]);
}
}
こういう場合に折角foreachを使っているのに、countを使うのはなんだかなーと思う。foreachを2重かするとか
addみたいにドンドンgetできる方法ってないの?
private void DataRefresh(List<List<double>> datasc)
{
int colcount = 0;
foreach (var dev in ccValueSetLabel)
{
var datas = datasc[colcount++];
List<string> strdt = new List<string> ();
int count=0;
par.GetInstance().ElDataList.ForEach(x => strdt.Add(string_format(x.format, datas[count++])));
count = 0; dev.ForEach(x => x.Text = strdt[count++]);
}
}
こういう場合に折角foreachを使っているのに、countを使うのはなんだかなーと思う。foreachを2重かするとか
addみたいにドンドンgetできる方法ってないの?
46愛恥人
2018/02/05(月) 14:35:35.2947デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 14:41:33.37ID:GlpP/XMd0 もうEnumはいいよ。原因はわかったし、そんなものだろ。
48愛恥人
2018/02/05(月) 14:42:47.42 俺も見たいからうpして(>_<)
49デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 15:04:28.59ID:GlpP/XMd0 エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
これだよ。だから41が言ってたerror番号だよ。エラー一覧をコピペしたけど
出力一覧の方にはエラー番号がでてた。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
これだよ。だから41が言ってたerror番号だよ。エラー一覧をコピペしたけど
出力一覧の方にはエラー番号がでてた。
50デフォルトの名無しさん (ワッチョイ 9fd2-UzD8)
2018/02/05(月) 16:39:11.49ID:3nUubkW+0 こちらでは再現しないので、そのエラーが本当に出ると信じられない
本当なら今後のために原因をきちんと把握しておきたいので、とりあえず件のコードとエラーのスクリーンショットを提示してほしい
本当なら今後のために原因をきちんと把握しておきたいので、とりあえず件のコードとエラーのスクリーンショットを提示してほしい
51デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 17:19:51.66ID:GlpP/XMd0 一寸聞きたいんだがキャストをかませないとエラーする件もそちらでは、出てないの?
キャストなしでも動く? とすると俺のpCがおかしいな。
でもキャストがいるとかDumyがいるとかだとやっぱり笑ってこらえる不具合含みでしょ。
俺のPCはDELLのディスクトップだからそこそこ早いやつだよ。(ゲーム用じゃないけど)
キャストなしでも動く? とすると俺のpCがおかしいな。
でもキャストがいるとかDumyがいるとかだとやっぱり笑ってこらえる不具合含みでしょ。
俺のPCはDELLのディスクトップだからそこそこ早いやつだよ。(ゲーム用じゃないけど)
52愛恥人
2018/02/05(月) 17:23:06.32 キャストをかませないとエラーとは?
53デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/05(月) 17:25:57.56ID:GhnQpqxTa 意地悪だなあw
こんなの確認するまでもないでしょ
まず間違いなく、この質問者さんは、問題に遭遇したのとは
別のコードをここに書いてる。
要するに、彼の問題の原因は彼が思い込んでいるのとは別のところにある。
こんなところに書き込んでる時間があるなら
その間に彼の仮設を検証する最小限のコードを書いて確認すりゃいいのにと思うんだけど、
なぜかそれをしないんだよねこういうあわてんぼうさんは。
こんなの確認するまでもないでしょ
まず間違いなく、この質問者さんは、問題に遭遇したのとは
別のコードをここに書いてる。
要するに、彼の問題の原因は彼が思い込んでいるのとは別のところにある。
こんなところに書き込んでる時間があるなら
その間に彼の仮設を検証する最小限のコードを書いて確認すりゃいいのにと思うんだけど、
なぜかそれをしないんだよねこういうあわてんぼうさんは。
54デフォルトの名無しさん (ワッチョイ 1714-lmiZ)
2018/02/05(月) 17:28:42.66ID:XmQ50b1K0 列挙型を数値型に代入するには明示的なキャストが必要なのは言語仕様
int[]の初期化子で全部intへ明示的にキャストしてるのにエラーが出るのはおかしい
まあそんなgdgdはいいからスクリーンショットはよ
int[]の初期化子で全部intへ明示的にキャストしてるのにエラーが出るのはおかしい
まあそんなgdgdはいいからスクリーンショットはよ
55デフォルトの名無しさん (ワッチョイ 779f-7xt/)
2018/02/05(月) 17:34:20.84ID:HpRDRToC0 別な何かを int にキャストしようとしてるんでないの?
56デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 17:35:14.81ID:GlpP/XMd0 enum enDispNum { min = 2, max = 5 };
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //エラー
int[] dispno = new int[] {(int)(enDispNum.min) , (int)(enDispNum.max) }; //OK
int[] dispno = new int[] {(enDispNum.min) , (enDispNum.max) }; //エラー
int[] dispno = new int[] {enDispNum.min , enDispNum.max }; //エラー
int[] dispno = new int[] {2,5}; //OK
int aa = (int)enDispNum.max; //OK
enum enDispNum { min = 0, max = 5 };
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //OK
int[] dispno = new int[] {(int)(enDispNum.min) , (int)(enDispNum.max) }; //OK
int[] dispno = new int[] {(enDispNum.min) , (enDispNum.max) }; //エラー
int[] dispno = new int[] {enDispNum.min , enDispNum.max }; //エラー
enum enDispNum { dummy, min = 2, max = 5 }; これもmin=0にするのと同じ
(int)キャストなしは全部エラー
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //エラー
int[] dispno = new int[] {(int)(enDispNum.min) , (int)(enDispNum.max) }; //OK
int[] dispno = new int[] {(enDispNum.min) , (enDispNum.max) }; //エラー
int[] dispno = new int[] {enDispNum.min , enDispNum.max }; //エラー
int[] dispno = new int[] {2,5}; //OK
int aa = (int)enDispNum.max; //OK
enum enDispNum { min = 0, max = 5 };
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //OK
int[] dispno = new int[] {(int)(enDispNum.min) , (int)(enDispNum.max) }; //OK
int[] dispno = new int[] {(enDispNum.min) , (enDispNum.max) }; //エラー
int[] dispno = new int[] {enDispNum.min , enDispNum.max }; //エラー
enum enDispNum { dummy, min = 2, max = 5 }; これもmin=0にするのと同じ
(int)キャストなしは全部エラー
57デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 17:39:57.27ID:GlpP/XMd0 上の状況は明示的に enum xxx:int{} やっても同じ。
enumで午前中潰してウンザリ。
enumで午前中潰してウンザリ。
58デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 17:46:56.70ID:GlpP/XMd0 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/enum
この列挙型では、要素の並びは 1 からではなく、 0から開始します。 ただし、列挙型には
値が 0 となる定数を含めておくことをお勧めします。 詳細については、列挙型を参照してください。
この列挙型では、要素の並びは 1 からではなく、 0から開始します。 ただし、列挙型には
値が 0 となる定数を含めておくことをお勧めします。 詳細については、列挙型を参照してください。
60デフォルトの名無しさん (ワッチョイ 57bb-CU+w)
2018/02/05(月) 17:53:40.29ID:0BVjum1K0 なんだ愛恥人て
61愛恥人
2018/02/05(月) 18:03:46.69 ちな女
62デフォルトの名無しさん (ワッチョイ ff9a-wbgk)
2018/02/05(月) 18:12:19.52ID:ny8aWquH063デフォルトの名無しさん (ブーイモ MMcf-UYd6)
2018/02/05(月) 18:13:19.15ID:Ju4kmi+XM64愛恥人
2018/02/05(月) 18:19:46.11 知ったかが偉そうなこというなよ(>_<)
65デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/05(月) 18:22:49.67ID:GhnQpqxTa66デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/05(月) 18:24:48.77ID:GhnQpqxTa あれ、逆書いてるw
× キャスト演算子の優先順位はドット演算子より高いはずなので、
○ ドット演算子の優先順位はキャスト演算子より高いはずなので、
× キャスト演算子の優先順位はドット演算子より高いはずなので、
○ ドット演算子の優先順位はキャスト演算子より高いはずなので、
67デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/05(月) 18:27:16.91ID:ubowXTd5a その前にvs2013で.net 4.7ってサポートしてるのか?
68デフォルトの名無しさん (スップ Sd3f-uiFW)
2018/02/05(月) 18:29:09.74ID:mbLKcWnpd >>67
Developer pack入れたらおーけー
Developer pack入れたらおーけー
69デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/05(月) 18:31:21.82ID:ubowXTd5a 今のところ質問者以外の環境では誰も再現してないのは
環境が違うからか?
環境が違うからか?
70デフォルトの名無しさん (ドコグロ MM8b-mP5N)
2018/02/05(月) 18:46:50.79ID:dQZdP/WRM こんな変な挙動になる環境って言うのも考えにくいので、質問者が壮大に勘違いしてるか単なるネタの疑念が拭いきれない
ソースとエラーになってる画面のスクショがででくるまでは傍観するわ
ソースとエラーになってる画面のスクショがででくるまでは傍観するわ
71デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 19:12:13.02ID:GlpP/XMd0 色々想像できる名前が入ってるからスクリーンショットはだめだな。それにスクリーンショットみても
何も変わらんよ。エラーが一行でてるだけだから。
そもそもEnumて数値を設定して使わないから気が付かないだけだろ。それにもう
今月一杯で2013はやめて2017に変更するし。
何も変わらんよ。エラーが一行でてるだけだから。
そもそもEnumて数値を設定して使わないから気が付かないだけだろ。それにもう
今月一杯で2013はやめて2017に変更するし。
72デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/05(月) 19:25:04.18ID:jWi5SYZhd クソスレ
73デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 19:44:13.45ID:GlpP/XMd0 List<string> strdt = new List<string> ();
〜
count = 0; dev.ForEach(x => x.Text = strdt[count++]);
この部分は
dev.Zip(strdt,(x,y) => x.Text = y);
これで動くと思ったが動作しないがなぜ?
〜
count = 0; dev.ForEach(x => x.Text = strdt[count++]);
この部分は
dev.Zip(strdt,(x,y) => x.Text = y);
これで動くと思ったが動作しないがなぜ?
74デフォルトの名無しさん (ブーイモ MMcf-UYd6)
2018/02/05(月) 19:57:49.49ID:a8Suwjh7M >>73
LINQの中で副作用を書くな
LINQの中で副作用を書くな
75愛恥人
2018/02/05(月) 20:21:57.80 Zipに与えられたラムダ式は遅延実行されるから。
ZipしてからForEachしようぜ
ZipしてからForEachしようぜ
76愛恥人
2018/02/05(月) 20:23:04.21 devとstrdtをマージしたものにForEach
77デフォルトの名無しさん (ワッチョイ f781-MydX)
2018/02/05(月) 22:13:35.29ID:XPnhCx0B0 正規表現を使って文字列から、○○月を除くコードを教えてください。
○には、1から12までが入ります。
○には、1から12までが入ります。
78愛恥人
2018/02/05(月) 22:32:29.56 using System.Text.RegularExpressions;
var text = "dejdo8月dksk12月diwk";
text = Regex.Replace(text, @"\d+月", "");
var text = "dejdo8月dksk12月diwk";
text = Regex.Replace(text, @"\d+月", "");
79デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/05(月) 23:26:17.82ID:ubowXTd5a 123456789月火水木金土
80愛恥人
2018/02/05(月) 23:54:36.42 using System.Text.RegularExpressions;
var monthPattern = new Regex(@"(\d+)月([^火水木金土日])");
var monthRemover = new MatchEvaluator(mc => Enumerable.Range(1, 12).Contains(int.Parse(mc.Groups[1].Value)) ? mc.Groups[2].Value : mc.Value);
var inputText = "kok3月rq12月12461123456789月火水木金土";
var monthRemovedText = monthRegex.Replace(inputText, monthRemover);
var monthPattern = new Regex(@"(\d+)月([^火水木金土日])");
var monthRemover = new MatchEvaluator(mc => Enumerable.Range(1, 12).Contains(int.Parse(mc.Groups[1].Value)) ? mc.Groups[2].Value : mc.Value);
var inputText = "kok3月rq12月12461123456789月火水木金土";
var monthRemovedText = monthRegex.Replace(inputText, monthRemover);
81愛恥人
2018/02/05(月) 23:56:41.11 間違えた(>_<)
82愛恥人
2018/02/06(火) 00:14:56.39 2箇所(>_<)
83デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/06(火) 01:21:47.08ID:PO3wsN6Da 普通に正規表現使えばいいのに…
[1-9]とか|とか1[0-2]とか
[1-9]とか|とか1[0-2]とか
84デフォルトの名無しさん (ワッチョイ 9775-uWnk)
2018/02/06(火) 01:41:51.19ID:XGJpv/sv0 9999999月火水木金
85デフォルトの名無しさん (ワッチョイ f781-MydX)
2018/02/06(火) 02:00:35.27ID:ZfaRyY6g0 すみません、曜日ではなく年月の月なんです。
86デフォルトの名無しさん (ワッチョイ ff80-g5j1)
2018/02/06(火) 02:01:52.73ID:tiswDOzX0 数字が、1〜2回
\d{1,2}月
\d{1,2}月
87デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/06(火) 03:07:18.11ID:0D5TLInma88デフォルトの名無しさん (ワッチョイ f781-MydX)
2018/02/06(火) 06:20:06.81ID:ZfaRyY6g089デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 08:01:18.07ID:eVD8eHcS0 var list_hoge = new List<Data_hoge>() {
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true},
};
この様なデータがあったときKeyに相当する引数(int=1〜4)を入れると
Flagがtrueのものの中でvalueが最大値を取るならtrueを返すメソッドを作りたいのですが
どうすればいいでしょうか?
LINQだと嬉しいです
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true},
};
この様なデータがあったときKeyに相当する引数(int=1〜4)を入れると
Flagがtrueのものの中でvalueが最大値を取るならtrueを返すメソッドを作りたいのですが
どうすればいいでしょうか?
LINQだと嬉しいです
90デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 08:08:20.72ID:eVD8eHcS0 public bool saidaichidesu(int x)
{
var list_hoge = new List<Data_hoge>() {
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true},
};
var flaggedList_hoge = list_hoge.Where(data => data.Flag);
if (flaggedList_hoge.Count() > 0)
{
var maxValue = flaggedList_hoge.Max(data => data.Value);
この先どう書けばいいかわからない
}
return false;
}
{
var list_hoge = new List<Data_hoge>() {
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true},
};
var flaggedList_hoge = list_hoge.Where(data => data.Flag);
if (flaggedList_hoge.Count() > 0)
{
var maxValue = flaggedList_hoge.Max(data => data.Value);
この先どう書けばいいかわからない
}
return false;
}
91恥人
2018/02/06(火) 08:23:21.72 Keyに相当する引数の役割は?
92デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 08:26:12.74ID:eVD8eHcS0 位置、座標の様なものになります
93恥人
2018/02/06(火) 08:32:59.69 最大値を持つ要素の中でKeyがxと一致するものを返したいということ?
94デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 08:40:29.46ID:eVD8eHcS0 最大値をもっているもののkey(複数あり)がxと一致するかどうかを確認して、一致するならtrueを返したいです
keyがstringになっていますがこれをintにしても構いません
keyがstringになっていますがこれをintにしても構いません
95デフォルトの名無しさん (ワッチョイ f7e3-uppE)
2018/02/06(火) 08:56:28.56ID:xtryCv8p0 こんな誰でもできることイチイチ人に聞いてるの?
96デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 10:10:37.94ID:vApM+tA70 寧ろ多くの人は解らんと思うが、、、先ずは質問の意味が正確に解るかどうかだな。
それが最大の問題だ。
「質問はすでにその中に解を含んでいる」、質問者が質問を正確に組み立てられないのは質問者の
責任として放置される性質のものではなくて、回答者の技量によって正確な質問に
組み立て直す。これは頭のいい回答者の責任になる。
でその役割りが君というわけだ。
それが最大の問題だ。
「質問はすでにその中に解を含んでいる」、質問者が質問を正確に組み立てられないのは質問者の
責任として放置される性質のものではなくて、回答者の技量によって正確な質問に
組み立て直す。これは頭のいい回答者の責任になる。
でその役割りが君というわけだ。
97デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 10:21:16.59ID:vApM+tA70 saidaichidesu(1) −−> False
saidaichidesu(2) −−> true
saidaichidesu(3) −−> false
saidaichidesu(4) −−> true
saidaichidesu(その他) −−> false
上の例ではこういうリターンを期待してる? もしこうであれば簡単だよ。
saidaichidesu(2) −−> true
saidaichidesu(3) −−> false
saidaichidesu(4) −−> true
saidaichidesu(その他) −−> false
上の例ではこういうリターンを期待してる? もしこうであれば簡単だよ。
98デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 10:55:56.66ID:eVD8eHcS0 >>97
はい!それと同じです!
はい!それと同じです!
99デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 11:26:06.22ID:vApM+tA70 class Data_hoge{
public string Key;
public int Value;
public bool Flag;
}
public bool saidaichidesu(int x)
{
List<Data_hoge> list_hoge = new List<Data_hoge>() {
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true}
};
var maxv = list_hoge.Where(dt => dt.Flag).ToList().Max(dt => dt.Value );
var res = list_hoge.Where(dt => dt.Value == maxv).ToList();
foreach (var dt in res)
{
if (x == int.Parse(dt.Key))
return true;
}
return false;
}
public string Key;
public int Value;
public bool Flag;
}
public bool saidaichidesu(int x)
{
List<Data_hoge> list_hoge = new List<Data_hoge>() {
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true}
};
var maxv = list_hoge.Where(dt => dt.Flag).ToList().Max(dt => dt.Value );
var res = list_hoge.Where(dt => dt.Value == maxv).ToList();
foreach (var dt in res)
{
if (x == int.Parse(dt.Key))
return true;
}
return false;
}
100デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 11:28:45.34ID:vApM+tA70 苦戦した。w 一行では難しいな。もっといい方法があると思う。
101デフォルトの名無しさん (ワッチョイ 77d3-+DFt)
2018/02/06(火) 11:41:32.95ID:YagpYDjh0 たびたびお世話になります。
ラムダ式で作ったスレッドの優先度を変えるにはどのようにしたらよいのでしょうか。
Task sendTask = Task.Factory.StartNew(() => や
ThreadStart action = () =>
で作成したスレッドです。
ラムダ式で作ったスレッドの優先度を変えるにはどのようにしたらよいのでしょうか。
Task sendTask = Task.Factory.StartNew(() => や
ThreadStart action = () =>
で作成したスレッドです。
102デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 11:47:34.51ID:eVD8eHcS0 >>100
ありがとうございます!
ありがとうございます!
103デフォルトの名無しさん (スップ Sd3f-9ylI)
2018/02/06(火) 11:54:00.12ID:WJaKumy6d ThreadはいいとしてThreadPoolに優先度って設定出来たかしら?
104デフォルトの名無しさん (ワッチョイ 77d3-+DFt)
2018/02/06(火) 11:58:32.99ID:YagpYDjh0 すみません、101ですが
Threadだけでも良いです。
Taskは優先度の概念?がなさそうですね。
Threadだけでも良いです。
Taskは優先度の概念?がなさそうですね。
105デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
2018/02/06(火) 12:03:58.25ID:PO3wsN6Da いつから初心者の質問に初心者が答えるスレになったんだ
厳しいことを言うようだけどコードレベルも一般に全然届いてない
それは参考にならない
厳しいことを言うようだけどコードレベルも一般に全然届いてない
それは参考にならない
106デフォルトの名無しさん (スップ Sd3f-9ylI)
2018/02/06(火) 12:28:02.63ID:WJaKumy6d >>104
手元に確認するための環境無いから試せないんだけど、作成したThreadStartデリゲートをThreadクラスに食わせてPriority プロパティを設定してスタートで行けるはず。
Thread.Priority プロパティは以下のリンクで
https://msdn.microsoft.com/ja-jp/library/system.threading.thread.priority(v=vs.110).aspx
手元に確認するための環境無いから試せないんだけど、作成したThreadStartデリゲートをThreadクラスに食わせてPriority プロパティを設定してスタートで行けるはず。
Thread.Priority プロパティは以下のリンクで
https://msdn.microsoft.com/ja-jp/library/system.threading.thread.priority(v=vs.110).aspx
107デフォルトの名無しさん (オッペケ Srcb-ggKF)
2018/02/06(火) 12:28:10.60ID:v2bC5kd9r >>105
ずっとそうだけど君を含めて
ずっとそうだけど君を含めて
108デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/06(火) 12:48:41.43ID:gO1cIWGHa >>90
なんかよー分からんけど、
public bool IsMax(string key)
{
var hogeList = new List<Data_hoge>()
{
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true},
};
var max = hogeList.Max(x => x.Flag ? Value :Int32.MinValue);
return hogeList.Any(x => x.Fkag && x.Key == key && x.Value == max);
}
試してないけどこんな感じでいける気が
しかし、>>89の日本語は酷すぎる
何を言ってるのかさっぱり分からない
なんかよー分からんけど、
public bool IsMax(string key)
{
var hogeList = new List<Data_hoge>()
{
new Data_hoge(){Key="1",Value=22 ,Flag=true},
new Data_hoge(){Key="2",Value=23 ,Flag=true},
new Data_hoge(){Key="3",Value=24 ,Flag=false},
new Data_hoge(){Key="4",Value=23 ,Flag=true},
};
var max = hogeList.Max(x => x.Flag ? Value :Int32.MinValue);
return hogeList.Any(x => x.Fkag && x.Key == key && x.Value == max);
}
試してないけどこんな感じでいける気が
しかし、>>89の日本語は酷すぎる
何を言ってるのかさっぱり分からない
109デフォルトの名無しさん (ワッチョイ 77d3-+DFt)
2018/02/06(火) 12:58:23.10ID:YagpYDjh0110デフォルトの名無しさん (ワキゲー MMdf-lmiZ)
2018/02/06(火) 13:33:21.39ID:faPlxNmlM hogeList.Where(_hoge => _hoge.Flag).GroupBy(_hoge => _hoge.Value)
.OrderByDescending(_group => _group.Key).First()
.Any(_hoge => _hoge.Key == key)
.OrderByDescending(_group => _group.Key).First()
.Any(_hoge => _hoge.Key == key)
111愛恥人
2018/02/06(火) 13:48:39.64 // 指定したキーのデータが最大値を持つか
public bool hasMax(list<Data_hoge> list, int key)
{
// フラグが立っているデータの抽出
var flaggedList = list.Where(data => data.Flag == true);
// リストの最大値
var maxValue = flaggedList.Max(data => data.Value);
// 最大値を持つデータの抽出
var maxDataList = flaggedList.Where(data => data.Value == maxValue);
// 指定されたキーのデータが存在するか
var hasMaxValue = maxDataList.Any(data => data.Key == key);
return hasMaxValue;
}
これは悪いソースですか?それとも普通ですか?
public bool hasMax(list<Data_hoge> list, int key)
{
// フラグが立っているデータの抽出
var flaggedList = list.Where(data => data.Flag == true);
// リストの最大値
var maxValue = flaggedList.Max(data => data.Value);
// 最大値を持つデータの抽出
var maxDataList = flaggedList.Where(data => data.Value == maxValue);
// 指定されたキーのデータが存在するか
var hasMaxValue = maxDataList.Any(data => data.Key == key);
return hasMaxValue;
}
これは悪いソースですか?それとも普通ですか?
112デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 14:02:52.39ID:vApM+tA70 素晴らしい。よくわかる。良いソースリストの鏡。★★★★。
インデントがついていたらもひとつおまけした。
インデントがついていたらもひとつおまけした。
113デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 14:08:14.50ID:vApM+tA70 ★★★★
var max = hogeList.Max(x => x.Flag ? Value :Int32.MinValue);
return hogeList.Any(x => x.Fkag && x.Key == key && x.Value == max);
評:素晴らしい。1行目のMinValueの使い方がおもしろい。工夫があってなお且つ分かりやすくシンプル。
var max = hogeList.Max(x => x.Flag ? Value :Int32.MinValue);
return hogeList.Any(x => x.Fkag && x.Key == key && x.Value == max);
評:素晴らしい。1行目のMinValueの使い方がおもしろい。工夫があってなお且つ分かりやすくシンプル。
114デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 17:02:57.89ID:vApM+tA70 ★★★★
return list_hoge.Where(_hoge => _hoge.Flag).GroupBy(_hoge => _hoge.Value)
.OrderByDescending(_group => _group.Key).First()
.Any(_hoge => _hoge.Key == xKey.ToString ());
評:Keyでオーダーしたら絶対に動かないだろ。w と思ったが念のため試してみたら動いた。
_group.KeyのKeyは実はValueをKeyにしてグループ分けしているのでKeyはHohgeのKeyではなくて
HogeのValueと同じになる。初心者には難解過ぎるので★一つ減らす。
return list_hoge.Where(_hoge => _hoge.Flag).GroupBy(_hoge => _hoge.Value)
.OrderByDescending(_group => _group.Key).First()
.Any(_hoge => _hoge.Key == xKey.ToString ());
評:Keyでオーダーしたら絶対に動かないだろ。w と思ったが念のため試してみたら動いた。
_group.KeyのKeyは実はValueをKeyにしてグループ分けしているのでKeyはHohgeのKeyではなくて
HogeのValueと同じになる。初心者には難解過ぎるので★一つ減らす。
115デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/06(火) 17:35:28.55ID:gO1cIWGHa116デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 17:51:59.65ID:vApM+tA70 //0〜9までの配列
var array = Enumerable.Range(0, 10).ToArray();
これと同じようにラベルのリストをつくりたいのだが、うまく行かない。どうしたらいい?
こんな感じだとおもうんだが。
List<Label> lblList = Enumerable .Range (0,10).Select (d => new Label (){ Text = d.ToString ()});
var array = Enumerable.Range(0, 10).ToArray();
これと同じようにラベルのリストをつくりたいのだが、うまく行かない。どうしたらいい?
こんな感じだとおもうんだが。
List<Label> lblList = Enumerable .Range (0,10).Select (d => new Label (){ Text = d.ToString ()});
117デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/06(火) 18:04:54.61ID:LQXeAkyIM118デフォルトの名無しさん (ブーイモ MMcf-+DFt)
2018/02/06(火) 18:09:27.95ID:LQXeAkyIM 馬鹿な初心者の例
エラー内容を読まない
質問するときも上手くいかないなどあいまいな言葉しか使わない
エラー内容を読まない
質問するときも上手くいかないなどあいまいな言葉しか使わない
119デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 18:29:23.79ID:vApM+tA70 >>116
自己解決!!
自己解決!!
120デフォルトの名無しさん (ワッチョイ f7f7-NsDz)
2018/02/06(火) 19:15:12.35ID:eVD8eHcS0 みなさんありがとうございます
全部参考にさせて頂きます
anyの使い方を知りませんでした
初心者的には>>111が一番わかりやすかったです
私の書いたコードを流用してくれているからだと思いますが
他の例の様にエレガントなコードを書けるように精進します
全部参考にさせて頂きます
anyの使い方を知りませんでした
初心者的には>>111が一番わかりやすかったです
私の書いたコードを流用してくれているからだと思いますが
他の例の様にエレガントなコードを書けるように精進します
121デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 20:28:32.37ID:vApM+tA70 private void test3()
{
List<Label> dev=Enumerable.Range(0, 10).Select(d=>new Label() { Name="Label" + d.ToString() }).ToList();
List<string> strdt=Enumerable.Range(0, 10).Select(d=>"--" + d.ToString() + "--" ).ToList();
dev.Zip(strdt, (x, y)=> x.Text=y);
Debug.Print("--------------------------------");
foreach (var a in dev)
{
Debug.Print(a.Name + ":" + a.Text);
}
}
これが動かない。同じ単純なアレイどおしなら問題なく動くと思うが、この場合は
色々やってみたがわからない。ZIPの後にForeachをかけるという
意見があったが、どうやって? マージした後にForeachかけるにはベクトルのコレクションを
返す必要がある。その方法が分からない。
{
List<Label> dev=Enumerable.Range(0, 10).Select(d=>new Label() { Name="Label" + d.ToString() }).ToList();
List<string> strdt=Enumerable.Range(0, 10).Select(d=>"--" + d.ToString() + "--" ).ToList();
dev.Zip(strdt, (x, y)=> x.Text=y);
Debug.Print("--------------------------------");
foreach (var a in dev)
{
Debug.Print(a.Name + ":" + a.Text);
}
}
これが動かない。同じ単純なアレイどおしなら問題なく動くと思うが、この場合は
色々やってみたがわからない。ZIPの後にForeachをかけるという
意見があったが、どうやって? マージした後にForeachかけるにはベクトルのコレクションを
返す必要がある。その方法が分からない。
122デフォルトの名無しさん (アメ MMfb-xw+F)
2018/02/06(火) 20:32:12.84ID:wUppZDmPM 以下のコードを実行すると
array[index]へのアクセスで
out of range exceptionがでます
何故index==numItemsという状態が起こるのでしょうか?
for (var i = 0; i < numItems; i++)
{
task[i] = new Task(() =>
{
var index = i;
foreach ()
{
array[index]にアクセス
}
});
task[i].Start();
while((int)task[i].Status < (int)TaskStatus.Running)
{
Console.WriteLine(i+"\t"+task[i].Status);
}
Console.WriteLine(i + "\t" + task[i].Status);
}
array[index]へのアクセスで
out of range exceptionがでます
何故index==numItemsという状態が起こるのでしょうか?
for (var i = 0; i < numItems; i++)
{
task[i] = new Task(() =>
{
var index = i;
foreach ()
{
array[index]にアクセス
}
});
task[i].Start();
while((int)task[i].Status < (int)TaskStatus.Running)
{
Console.WriteLine(i+"\t"+task[i].Status);
}
Console.WriteLine(i + "\t" + task[i].Status);
}
123デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/06(火) 20:47:55.13ID:ori7vw+Ya124デフォルトの名無しさん (アウアウエー Sadf-Og17)
2018/02/06(火) 20:50:18.07ID:ori7vw+Ya っていうか、
>dev.Zip(strdt, (x, y)=> x.Text=y);
ここのラムダ式の戻り値はyになるんだけど、これは意図してるのか勘違いなのか...
>dev.Zip(strdt, (x, y)=> x.Text=y);
ここのラムダ式の戻り値はyになるんだけど、これは意図してるのか勘違いなのか...
125デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 20:57:00.40ID:vApM+tA70 >動かないって言われてもエスパーじゃないんで...
int count = 0;
dev.ForEach(x => x.Text = strdt[count++]);
やりたいのはこれと同じこと。これは動作する。
int count = 0;
dev.ForEach(x => x.Text = strdt[count++]);
やりたいのはこれと同じこと。これは動作する。
126デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 21:07:22.14ID:vApM+tA70 >>dev.Zip(strdt, (x, y)=> x.Text=y);
>ここのラムダ式の戻り値はyになるんだけど、これは意図してるのか勘違いなのか...
ここの意図はdevがLabelのコレクションだからxはそのラベルの一個を取り出す。
yはsrtdtがstringコレクションだからyはその一つの要素
x.Text=y
はラベルのテキストにストリングyを代入すること。
ラムダ式の戻り値はyになるんか? でもラベルにyをセットするのが目的だから戻り値は関係ないはず。
var retval = dev.Zip(strdt, (x, y) => x.Text = y);
Debug.Print("--------------------------------" + retval);
foreach (var a in dev)
{
Debug.Print(a.Name + ":" + a.Text);
}
戻り値をretvalに入れてプリントしたらこんなになってる。
--------------------------------System.Linq.Enumerable+<ZipIterator>d__61`3[System.Windows.Forms.Label,System.String,System.String]
Label0:
Label1:
Label2:
Label3:
Label4:
Label5:
Label6:
Label7:
Label8:
Label9:
>ここのラムダ式の戻り値はyになるんだけど、これは意図してるのか勘違いなのか...
ここの意図はdevがLabelのコレクションだからxはそのラベルの一個を取り出す。
yはsrtdtがstringコレクションだからyはその一つの要素
x.Text=y
はラベルのテキストにストリングyを代入すること。
ラムダ式の戻り値はyになるんか? でもラベルにyをセットするのが目的だから戻り値は関係ないはず。
var retval = dev.Zip(strdt, (x, y) => x.Text = y);
Debug.Print("--------------------------------" + retval);
foreach (var a in dev)
{
Debug.Print(a.Name + ":" + a.Text);
}
戻り値をretvalに入れてプリントしたらこんなになってる。
--------------------------------System.Linq.Enumerable+<ZipIterator>d__61`3[System.Windows.Forms.Label,System.String,System.String]
Label0:
Label1:
Label2:
Label3:
Label4:
Label5:
Label6:
Label7:
Label8:
Label9:
127デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/06(火) 21:10:54.60ID:vApM+tA70 --------------------------------
Label0:--0--
Label1:--1--
Label2:--2--
Label3:--3--
Label4:--4--
Label5:--5--
Label6:--6--
Label7:--7--
Label8:--8--
Label9:--9--
これが期待値
Label0:--0--
Label1:--1--
Label2:--2--
Label3:--3--
Label4:--4--
Label5:--5--
Label6:--6--
Label7:--7--
Label8:--8--
Label9:--9--
これが期待値
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 【群馬】横断歩道を渡っていたNHKアナウンサーが車にはねられ骨折などの重傷 前橋市 [ぐれ★]
- 日本人がホルホルの対象にしている生物、海外にも生息すると判明 [603416639]
- 無責任な大人が「不登校でいいんだよ」とか言ってるけどさ
- 【悲報】ドイツ人「なんで日本人って自炊するの?出来合の惣菜や冷食食った方が楽でコスパいいやん。そんなんだから低生産性なんだよ [786648259]
- 底辺テイカー気質Vtuberを破壊する遊びが闇深いと話題に [922647923]
- 休日にコンビニ行って値札見ずに食いたいもの買って食いまくる行為wwwwwwwwwwwwww
- 趣味に年50万って多い?
