「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
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/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part136
http://mevius.5ch.net/test/read.cgi/tech/1520057345/
■コードを貼る場合は↓を使いましょう。
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: checked:vvvvv:1000:512:----: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part137
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ドコグロ MM07-2FKJ)
2018/04/06(金) 17:40:19.48ID:oKXVP34zM92デフォルトの名無しさん (ドコグロ MM83-xI9k)
2018/04/20(金) 12:44:06.99ID:yZlfbYWOM オブジェクトとは何かね
93デフォルトの名無しさん (ブーイモ MMba-Mp6C)
2018/04/20(金) 12:52:07.95ID:wBOVlPyYM94デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/20(金) 12:58:41.12ID:luJyaFhBa95デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/20(金) 13:08:12.31ID:9jg3Q7S0096デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/20(金) 13:26:58.95ID:luJyaFhBa97デフォルトの名無しさん (スプッッ Sd5a-BoQL)
2018/04/20(金) 13:48:46.74ID:o6RSJKQdd >>91
0と1?何を言ってるのかわからん
14時に集合ってメール出して、全員からわかったみたいな返信きてもうざいだろ?
だから、14時集合(返信不要)ってメールをおくる方が受け取る側も返信しなくていいし、送る側も無駄な受信を減らせるしでwinwin
この辺りは経験だったりセンスだろうな
0と1?何を言ってるのかわからん
14時に集合ってメール出して、全員からわかったみたいな返信きてもうざいだろ?
だから、14時集合(返信不要)ってメールをおくる方が受け取る側も返信しなくていいし、送る側も無駄な受信を減らせるしでwinwin
この辺りは経験だったりセンスだろうな
98デフォルトの名無しさん (ワッチョイ 9a06-Mp6C)
2018/04/20(金) 14:03:32.43ID:0EVFmTU60 >>95
成否の観点では単にフィールドの値を設定するメソッドを鑑みても
メモリに書き込み失敗の概念があっても、代入に失敗の概念はない
設定前の値を返すにしても、わざわざ退避する処理を強制するのか?
想定外の発生は基本的に例外をぶん投げるものだし
常人が気にしない様な事を考えて躓いてそうである
成否の観点では単にフィールドの値を設定するメソッドを鑑みても
メモリに書き込み失敗の概念があっても、代入に失敗の概念はない
設定前の値を返すにしても、わざわざ退避する処理を強制するのか?
想定外の発生は基本的に例外をぶん投げるものだし
常人が気にしない様な事を考えて躓いてそうである
99デフォルトの名無しさん (ワッチョイ 1ad2-1SSC)
2018/04/20(金) 19:05:49.61ID:W6WTRmLV0 関数型プログラミングの才能があるな
100デフォルトの名無しさん (ワッチョイ fa27-ZOCN)
2018/04/20(金) 20:30:59.54ID:kti4nAgp0 >>95
戻り値がないのは常に「成功」を返す関数と考えて良い
C#では失敗した場合は例外を投げるので、成否を戻り値で判定することはない
C言語とかgoみたいに例外という概念がない言語は、成功したかどうかが戻り値に入ってることが多い
それでも絶対に失敗しないか、失敗したらプログラムが強制終了するような処理は戻り値がない場合もある
戻り値がないのは常に「成功」を返す関数と考えて良い
C#では失敗した場合は例外を投げるので、成否を戻り値で判定することはない
C言語とかgoみたいに例外という概念がない言語は、成功したかどうかが戻り値に入ってることが多い
それでも絶対に失敗しないか、失敗したらプログラムが強制終了するような処理は戻り値がない場合もある
101デフォルトの名無しさん (ワッチョイ e717-9jjH)
2018/04/20(金) 21:05:01.73ID:Yi5F0BBw0 >C#では失敗した場合は例外を投げるので、成否を戻り値で判定することはない
えぇ…
えぇ…
102デフォルトの名無しさん (ワッチョイ 9a7f-fvqh)
2018/04/20(金) 21:14:39.58ID:7WlEIf700103デフォルトの名無しさん (ワッチョイ 1aa6-wlRc)
2018/04/20(金) 21:42:51.61ID:9jg3Q7S00104デフォルトの名無しさん (ワッチョイ 9a7f-fvqh)
2018/04/20(金) 21:52:31.13ID:7WlEIf700105デフォルトの名無しさん (ワッチョイ fa27-ZOCN)
2018/04/20(金) 22:00:49.23ID:kti4nAgp0106デフォルトの名無しさん (ブーイモ MM26-9jjH)
2018/04/20(金) 22:22:51.74ID:UaVetxYYM 関数という言葉に惑わされてるということかな
メソッドは数学で言う関数そのものじゃない
(y=x+1とかそういうのじゃない)
やることを順番に書いてあるもの
サブルーチン
戻り値が定義されてたそれを返すだけ
ほかの言語で戻り値がないものは関数と区別してる言語もあるけど
わざわざ二種類つくるより戻り値なしで共通にしてある
メソッドは数学で言う関数そのものじゃない
(y=x+1とかそういうのじゃない)
やることを順番に書いてあるもの
サブルーチン
戻り値が定義されてたそれを返すだけ
ほかの言語で戻り値がないものは関数と区別してる言語もあるけど
わざわざ二種類つくるより戻り値なしで共通にしてある
107デフォルトの名無しさん (ワッチョイ 9a06-Mp6C)
2018/04/20(金) 23:07:04.14ID:0EVFmTU60108デフォルトの名無しさん (ワッチョイ b38a-nSRR)
2018/04/20(金) 23:38:50.80ID:iIb0CR1w0 いろいろ調べたり考えたりしたのですが、解決出来ないので質問します。
https://dotnetfiddle.net/SoCII1
このようなコードがあって
List<ITest>にいれていったときに
ListのXだけを全て足して返す関数は出来たのですが、今後ITestのプロパティは増える予定で、それぞれに足して返す関数をつけたいです。
そのときに似たようなコードになるので一つに纏めようとしたのですが中々できず困っています。どのような書き方をすればいいでしょうか?
https://dotnetfiddle.net/SoCII1
このようなコードがあって
List<ITest>にいれていったときに
ListのXだけを全て足して返す関数は出来たのですが、今後ITestのプロパティは増える予定で、それぞれに足して返す関数をつけたいです。
そのときに似たようなコードになるので一つに纏めようとしたのですが中々できず困っています。どのような書き方をすればいいでしょうか?
109デフォルトの名無しさん (ワッチョイ fa27-ZOCN)
2018/04/21(土) 02:21:21.95ID:lHgu/nQp0 >>108
基本的にはプロパティを動的に指定するのはリフレクションとかDictionaryを駆使とか、何らかの形でコストを払うことになると思う
状況にもよるけど、コンパイル時に確定してるならT4テンプレートとかコード生成とかで対応するのが一番正しいんじゃないかな
基本的にはプロパティを動的に指定するのはリフレクションとかDictionaryを駆使とか、何らかの形でコストを払うことになると思う
状況にもよるけど、コンパイル時に確定してるならT4テンプレートとかコード生成とかで対応するのが一番正しいんじゃないかな
110デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/21(土) 02:34:40.78ID:m0t/bmNLa >>108
そんなものは自作しなくてもList自身(正確にはIEnumerable<T>だけど)が持ってるw
名前もそのまんまSumだからよくMSDNを見てみ
https://msdn.microsoft.com/ja-jp/library/6sh2ey19.aspx
そんなものは自作しなくてもList自身(正確にはIEnumerable<T>だけど)が持ってるw
名前もそのまんまSumだからよくMSDNを見てみ
https://msdn.microsoft.com/ja-jp/library/6sh2ey19.aspx
111デフォルトの名無しさん (ワッチョイ 1781-5Fj3)
2018/04/21(土) 03:42:29.63ID:MaG6OThU0 >>110
んー、エスパーだけど、質問者はプロパティをforeachみたいに回して全てにsumするようなのをプロパティの数に限らず1行で書きたいってことじゃね?
んー、エスパーだけど、質問者はプロパティをforeachみたいに回して全てにsumするようなのをプロパティの数に限らず1行で書きたいってことじゃね?
112デフォルトの名無しさん (スプッッ Sd5a-BoQL)
2018/04/21(土) 07:59:48.29ID:z4AHgN+yd >>103
メソッドの戻り値とコンピュータの世界は全く関係がない
低級のマシン語をわかりやすくするための高級言語なんで初心者用スレで〜というよりは見当違いなことを言ってる
っで、結果とは低級レベルでの結果とメソッドレベルの結果のどちらをさしている?
低級レベルでの結果が表に出てこないのは普通のこと
メソッドレベルで見てもメールの送信済マークを含めてないのでメソッド戻り値の返さない
メソッドの戻り値とコンピュータの世界は全く関係がない
低級のマシン語をわかりやすくするための高級言語なんで初心者用スレで〜というよりは見当違いなことを言ってる
っで、結果とは低級レベルでの結果とメソッドレベルの結果のどちらをさしている?
低級レベルでの結果が表に出てこないのは普通のこと
メソッドレベルで見てもメールの送信済マークを含めてないのでメソッド戻り値の返さない
113デフォルトの名無しさん (ワッチョイ b38a-nSRR)
2018/04/21(土) 08:37:04.35ID:i7kmKmol0114デフォルトの名無しさん (アウアウカー Sa43-pa6j)
2018/04/21(土) 10:09:06.82ID:XwcbmKc5a 連続時間的な関数ってあります?
115デフォルトの名無しさん (ワッチョイ e717-9jjH)
2018/04/21(土) 10:52:04.99ID:WnG+wEwt0 連続時間 is 何
116デフォルトの名無しさん (ワッチョイ 239f-xI9k)
2018/04/21(土) 11:00:42.32ID:k3YYD8ov0 エポック秒のことかなぁ
117デフォルトの名無しさん (アウアウカー Sa43-pa6j)
2018/04/21(土) 12:09:05.27ID:Y1+gKOzZa アナログメーター的なやつです
118デフォルトの名無しさん (ワッチョイ 239f-xI9k)
2018/04/21(土) 12:39:56.06ID:k3YYD8ov0 >>117
プログレスバーでググってみてはどうか
プログレスバーでググってみてはどうか
119デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/21(土) 13:49:43.77ID:gbvJ8fZ/a 時空連続体と空目した
120デフォルトの名無しさん (ワッチョイ 4ec9-pa6j)
2018/04/21(土) 18:22:05.73ID:V5ZTEj450 プログレスバーってもろデジタルメーターじゃないですか
数百〜数千の筋繊維を一本の糸で表現できるような関数はないですかね
数百〜数千の筋繊維を一本の糸で表現できるような関数はないですかね
121デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/21(土) 18:29:18.80ID:LQq77Lfe0 you!画像ファイル扱っちゃいなyo!
122デフォルトの名無しさん (ワッチョイ 4e9a-9jjH)
2018/04/21(土) 18:52:17.79ID:rKiuu7+10123デフォルトの名無しさん (アウーイモ MM47-S9Qq)
2018/04/22(日) 00:35:03.08ID:XfnBBJY5M プリンタの印刷設定の縦横を変更したいです。
DefaultPageSettings.Landscape プロパティから変えられるのは確認しましたが
一時的なものではなく、プログラムが終了したあとも変わったままにしておきたいのですが
なにか方法はないでしょうか?
http://bbs.wankuma.com/index.cgi?mode=al2&namber=2377&KLOG=2
このサイトも参考にしてSetHdevmodeなどもやってみましたが、プログラム終了後にもとに戻ってしまいます。
Windows7,10 64bitです
DefaultPageSettings.Landscape プロパティから変えられるのは確認しましたが
一時的なものではなく、プログラムが終了したあとも変わったままにしておきたいのですが
なにか方法はないでしょうか?
http://bbs.wankuma.com/index.cgi?mode=al2&namber=2377&KLOG=2
このサイトも参考にしてSetHdevmodeなどもやってみましたが、プログラム終了後にもとに戻ってしまいます。
Windows7,10 64bitです
124デフォルトの名無しさん (ワッチョイ 4ee8-9jjH)
2018/04/22(日) 00:38:42.31ID:2TRizD7z0 筋繊維を糸で表現ってそれもう物理演算じゃん
125デフォルトの名無しさん (ワッチョイ 7ae7-5Mny)
2018/04/22(日) 01:10:17.94ID:6eouzp2p0 何がしたいのかよう分からん
>数百〜数千の筋繊維を一本の糸で表現できるような関数
が欲しいなら
「アナログメーター」なんて単語は出てこんと思うのだが
なんか特殊な知識が必要なことやってるなら
なおさらキチンと説明しないといかんだろう
>数百〜数千の筋繊維を一本の糸で表現できるような関数
が欲しいなら
「アナログメーター」なんて単語は出てこんと思うのだが
なんか特殊な知識が必要なことやってるなら
なおさらキチンと説明しないといかんだろう
126デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/22(日) 02:16:18.41ID:I1dKrIqPa >>123
次回そのプログラムを起動した時も同じ設定が適用されるようにしたい、
という意味なら、Landscape を永続化すればいいだけでしょう。
同じ設定が他のプログラムにも適用されるようにしたい、って意味なら、
たぶんそんなことは出来ないんじゃないかと...
よく知らんけど
次回そのプログラムを起動した時も同じ設定が適用されるようにしたい、
という意味なら、Landscape を永続化すればいいだけでしょう。
同じ設定が他のプログラムにも適用されるようにしたい、って意味なら、
たぶんそんなことは出来ないんじゃないかと...
よく知らんけど
127デフォルトの名無しさん (アウーイモ MM47-S9Qq)
2018/04/22(日) 07:35:23.33ID:XfnBBJY5M128デフォルトの名無しさん (ワッチョイ e717-9jjH)
2018/04/22(日) 09:24:44.12ID:RctEGmkE0 他のプログラムでも同じ設定を使いたいんならプリンタドライバの設定変更以外に方法はない
てかそれってC#関係ないよね
てかそれってC#関係ないよね
129デフォルトの名無しさん (ワッチョイ 0bb3-9jjH)
2018/04/22(日) 19:36:51.14ID:YjWQK7FP0 [[['[] ]]] { {] ]][ '[][][] [][] [][][] [] '[] []
130デフォルトの名無しさん (ササクッテロラ Sp3b-0nT5)
2018/04/22(日) 21:23:13.30ID:AB//w8nmp c#勉強始めたての者です。
indexofで文字列を検索しようとしているのですが、長文を検索するとエラーが出てしまいます。
MSDNを見ると戻り値がint32とあり、戻り値がintの範囲を超えるとlongエラーになるように推測していますが対応方法はあるのでしょうか。
indexofで文字列を検索しようとしているのですが、長文を検索するとエラーが出てしまいます。
MSDNを見ると戻り値がint32とあり、戻り値がintの範囲を超えるとlongエラーになるように推測していますが対応方法はあるのでしょうか。
131デフォルトの名無しさん (ササクッテロラ Sp3b-0nT5)
2018/04/22(日) 21:24:53.81ID:AB//w8nmp すみません上記文中のlongは誤植ですので読み飛ばしてください。
132デフォルトの名無しさん (ワッチョイ 4703-goBS)
2018/04/22(日) 21:30:18.18ID:PsQCMKRd0 そう言われるともうlongしか見えない
133デフォルトの名無しさん (ワッチョイ 3aac-im5j)
2018/04/22(日) 21:37:33.88ID:hhQLBFvv0 文字数がintに収まるように文字列を切り出しながら検索すればいいんじゃないか
もちろん切れ目に検索対象の文字列が有るときの対策して切り出さなきゃならんけど
もちろん切れ目に検索対象の文字列が有るときの対策して切り出さなきゃならんけど
134デフォルトの名無しさん (ワッチョイ b3e3-0nT5)
2018/04/22(日) 22:10:29.71ID:VNNE7LSc0 ありがとうございます。
matchメソッドというのを見つけました。
全然見つからなかったのに投稿し出来すぐ見つかるものですね。
matchで出来なかったらint分割にトライしようと思います。
matchメソッドというのを見つけました。
全然見つからなかったのに投稿し出来すぐ見つかるものですね。
matchで出来なかったらint分割にトライしようと思います。
135デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/22(日) 22:23:25.89ID:f9F/Sp5R0 フォーム上のコントロールを、プログラムから参照するいい方法はないでしょうか
SplitContainer上に配置した合計20個のチェックボックスについて、textをファイルから
読み込んだものに動的に変更したいと考えています
手元の書籍(作って覚えるc#)では、forループの中で
splitContainer1.Panel2.Controls[i].Text = mistakeText;
という形でやっていましたが、今回自分で用意したフォームはほかにもテキストボックスや
ラベルがあり、うまくチェックボックスを対象としてくれません
デザイン画面で配置した順番にやや依拠しているようですが、最後においたものほど添字が
小さそうだ、程度しかわかりません
今後デザインを変更する、あるいはチェックボックスを増やす可能性を考えると、何らかの
プロパティで順番を指定できるといいなと思いますが、発見できませんでした
Form1.Designer.cs のメンバ変数宣言欄に記載がある順番のように思えますが、IDEが
自動生成したコードを並べ替えるのも何やら気持ち悪く、今の所手を出していません
今回はチェックボックスですが、ほかにもラベルを順に参照するとか、テキストボックスを
順に参照する方法などあれば、教えていただけると助かります
なお、今回のフォームでは、とりあえずチェックボックスの名前は初期値(checkBox1など)に
なっています
SplitContainer上に配置した合計20個のチェックボックスについて、textをファイルから
読み込んだものに動的に変更したいと考えています
手元の書籍(作って覚えるc#)では、forループの中で
splitContainer1.Panel2.Controls[i].Text = mistakeText;
という形でやっていましたが、今回自分で用意したフォームはほかにもテキストボックスや
ラベルがあり、うまくチェックボックスを対象としてくれません
デザイン画面で配置した順番にやや依拠しているようですが、最後においたものほど添字が
小さそうだ、程度しかわかりません
今後デザインを変更する、あるいはチェックボックスを増やす可能性を考えると、何らかの
プロパティで順番を指定できるといいなと思いますが、発見できませんでした
Form1.Designer.cs のメンバ変数宣言欄に記載がある順番のように思えますが、IDEが
自動生成したコードを並べ替えるのも何やら気持ち悪く、今の所手を出していません
今回はチェックボックスですが、ほかにもラベルを順に参照するとか、テキストボックスを
順に参照する方法などあれば、教えていただけると助かります
なお、今回のフォームでは、とりあえずチェックボックスの名前は初期値(checkBox1など)に
なっています
136デフォルトの名無しさん (ワッチョイ 4e9a-9jjH)
2018/04/22(日) 22:25:29.08ID:tqpEX+7y0 >>135
if (Controls[i] is CheckBox)
if (Controls[i] is CheckBox)
137デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/22(日) 22:43:50.37ID:VtQV/Dmoa >>135
根本的に考え違いをしてると思う。
たぶんありもしないものをあるはずだと勝手に思い込んでる。
コントロールをテーブル参照したいなら自分で明示的にテーブル(配列)を
宣言しましょう。
デザイナには君が欲しいと思っているものを忖度して自動で作ってくれるような
都合のいい機能は存在しない。
根本的に考え違いをしてると思う。
たぶんありもしないものをあるはずだと勝手に思い込んでる。
コントロールをテーブル参照したいなら自分で明示的にテーブル(配列)を
宣言しましょう。
デザイナには君が欲しいと思っているものを忖度して自動で作ってくれるような
都合のいい機能は存在しない。
138デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/22(日) 23:18:57.35ID:f9F/Sp5R0139デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/22(日) 23:35:35.52ID:Kp2niQOT0140デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/22(日) 23:50:44.34ID:f9F/Sp5R0141デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/23(月) 00:02:33.07ID:Xa6TKCtV0 >>140
意味がわからない
何がしたいの?
@コントロールを特定する必要がある
A複数のコントロールに共通の処理がしたい
Aにしか目が行ってないけど@をやらなきゃいけない時点で
Aの方法なんてエレガントにできたってウンコブリブリじゃん
意味がわからない
何がしたいの?
@コントロールを特定する必要がある
A複数のコントロールに共通の処理がしたい
Aにしか目が行ってないけど@をやらなきゃいけない時点で
Aの方法なんてエレガントにできたってウンコブリブリじゃん
142デフォルトの名無しさん (ワッチョイ 4e81-txNp)
2018/04/23(月) 02:11:14.44ID:kNAX3uRd0 オムツの取り替えまでやって欲しい要介護は大人しくVBやってろ
143デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/23(月) 03:09:44.29ID:0OUySOiKa >>140
だから、配列が欲しいなら配列を自分で作ろうよ。
配列が欲しい、でもなんだか自分で配列を書くのは嫌だ。
この発想がおかしい。
var cbs = new[] {CheckBox1, CheckBox2, ...};
これ書くのがそんなに面倒?
変な方向に努力する方が余程面倒でしょ
ローカル変数じゃなくてメンバ変数かプロパティとして実装する場合だって手間は大差ないよ
だから、配列が欲しいなら配列を自分で作ろうよ。
配列が欲しい、でもなんだか自分で配列を書くのは嫌だ。
この発想がおかしい。
var cbs = new[] {CheckBox1, CheckBox2, ...};
これ書くのがそんなに面倒?
変な方向に努力する方が余程面倒でしょ
ローカル変数じゃなくてメンバ変数かプロパティとして実装する場合だって手間は大差ないよ
144デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/23(月) 06:08:01.85ID:wp3u/AuE0145デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/23(月) 06:12:48.73ID:Xa6TKCtV0146デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/23(月) 07:30:25.22ID:wp3u/AuE0 >>145
自動でやってくれると言うか、Controls[n] の n に相当する部分を、何らかのプロパティで
持っているのではないかと思ったのです
それがわかれば、IDEでプロパティを書き換えてやればそれで済むな、と
あるいはそれがなければ、例えば
for (int i = 0; i < CBOX_ELEMENTS; i++) {
string s = "checkBox" + (i+1).ToString();
Controls(s).Text = ...
}
みたいな形で指定できないかな、と思っていたのですが、これは無理そうですし
自動でやってくれると言うか、Controls[n] の n に相当する部分を、何らかのプロパティで
持っているのではないかと思ったのです
それがわかれば、IDEでプロパティを書き換えてやればそれで済むな、と
あるいはそれがなければ、例えば
for (int i = 0; i < CBOX_ELEMENTS; i++) {
string s = "checkBox" + (i+1).ToString();
Controls(s).Text = ...
}
みたいな形で指定できないかな、と思っていたのですが、これは無理そうですし
147デフォルトの名無しさん (アウアウカー Sa43-AqIk)
2018/04/23(月) 07:45:09.58ID:7CTglbRxa 配列作って突っ込んどくのが何より簡単だし自由だろ
148デフォルトの名無しさん (ワッチョイ 578a-/Wij)
2018/04/23(月) 08:09:08.34ID:voecBiJS0 >>146
インデクサじゃ駄目なの?
インデクサじゃ駄目なの?
149デフォルトの名無しさん (ドコグロ MM83-i2qG)
2018/04/23(月) 08:16:30.00ID:C4a+50u5M >>146
ちがくね?
お前がやりたいのって別のデータとid(?)が一致する項目にデータを入れていきたいんじゃねーの?
でもそれってコントロールを特定する必要があるんだよね?
コントロールとデータを紐付ける何かはあるの?
ちがくね?
お前がやりたいのって別のデータとid(?)が一致する項目にデータを入れていきたいんじゃねーの?
でもそれってコントロールを特定する必要があるんだよね?
コントロールとデータを紐付ける何かはあるの?
150デフォルトの名無しさん (ドコグロ MM92-xI9k)
2018/04/23(月) 08:33:16.26ID:KdhM7QliM GetAllControlsのカウント取るとかそういう?
151デフォルトの名無しさん (ワンミングク MM8a-/Wij)
2018/04/23(月) 08:37:13.12ID:+9lDlXeaM Type.GetPropertiesの方かな
152デフォルトの名無しさん (ワッチョイ b7e3-9jjH)
2018/04/23(月) 09:14:18.74ID:y08K2+qf0 VB6はコントロール配列があったけどなー。.Netの世界にはないからの。
153デフォルトの名無しさん (ワッチョイ 4ee8-9jjH)
2018/04/23(月) 12:01:51.66ID:joGGyVH30 ttps://dobon.net/vb/dotnet/control/findcontrolbyname.html
名前で探せばいいのでは?
名前で探せばいいのでは?
154デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/23(月) 12:30:43.09ID:b1ST+81Ba だから配列に突っ込めば済む話を何でわざわざより面倒な方法で解決しようとするのw
155デフォルトの名無しさん (オッペケ Sr3b-ceek)
2018/04/23(月) 12:34:22.72ID:HUKatAJtr156デフォルトの名無しさん (オッペケ Sr3b-ceek)
2018/04/23(月) 12:39:13.94ID:HUKatAJtr >>154
まあ一言でいうと、わざわざ自分で配列を作らなくても、それを実現する方法はすでに存在するだろうと思ってたのです
配列作ったら「そんなことしなくてもこう書けば一発で参照できるのに」って言われる方法があるんじゃないかと
まあ一言でいうと、わざわざ自分で配列を作らなくても、それを実現する方法はすでに存在するだろうと思ってたのです
配列作ったら「そんなことしなくてもこう書けば一発で参照できるのに」って言われる方法があるんじゃないかと
157デフォルトの名無しさん (ワンミングク MM8a-/Wij)
2018/04/23(月) 12:39:38.75ID:+9lDlXeaM >>155
その下にインデクサによる説明もあるだろw
その下にインデクサによる説明もあるだろw
158デフォルトの名無しさん (ワッチョイ 9a7f-fvqh)
2018/04/23(月) 13:33:10.44ID:48XgAlPp0 public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Name ).ToArray();
}
private CheckBox[] checkBoxes;
}
{
public Form1()
{
InitializeComponent();
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Name ).ToArray();
}
private CheckBox[] checkBoxes;
}
159デフォルトの名無しさん (ワッチョイ 8aeb-8q6u)
2018/04/23(月) 17:06:56.96ID:FWk6fNJV0 public class B : private A
{
}
みたいなこと C# じゃ出来ないんだっけ?
{
}
みたいなこと C# じゃ出来ないんだっけ?
160デフォルトの名無しさん (スップ Sd5a-lyLw)
2018/04/23(月) 17:10:12.77ID:BY7S8wKYd >>159
継承元をprotectedにすれば継承したクラスからしかアクセスできないようにはできる
継承元をprotectedにすれば継承したクラスからしかアクセスできないようにはできる
161デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/23(月) 17:25:36.44ID:b1ST+81Ba >>159
何言ってるのかわかりませんw
何言ってるのかわかりませんw
162デフォルトの名無しさん (スップ Sd5a-lyLw)
2018/04/23(月) 18:05:17.14ID:BY7S8wKYd そのクラス経由でしかアクセスできないようにしたいってことじゃないの?
163デフォルトの名無しさん (ワントンキン MM8a-Pnzf)
2018/04/23(月) 18:18:07.68ID:CCSIsfHWM ゆとりしか居ないのかなぁ
C#はprivate継承はサポートしてないよ
フィールドに持たせて移譲メソッド書くしかない
C#はprivate継承はサポートしてないよ
フィールドに持たせて移譲メソッド書くしかない
164デフォルトの名無しさん (スプッッ Sdba-0snq)
2018/04/23(月) 18:31:05.83ID:VMRJeQmYd >>163
ゆとりなんてもうオッサンやでおじいちゃん?
ゆとりなんてもうオッサンやでおじいちゃん?
165デフォルトの名無しさん (スップ Sd5a-lyLw)
2018/04/23(月) 18:38:07.42ID:BY7S8wKYd これ参考にすればいいのかな
http://ufcpp.net/study/csharp/oo_conceal.html
protected internal 同一プロジェクト内のクラス内部、または、派生クラスの内部からのみアクセス可能
private protected (C# 7.2 以降)同一プロジェクト内のクラス内部、かつ、派生クラスの内部からのみアクセス可能
こういうこと?
http://ufcpp.net/study/csharp/oo_conceal.html
protected internal 同一プロジェクト内のクラス内部、または、派生クラスの内部からのみアクセス可能
private protected (C# 7.2 以降)同一プロジェクト内のクラス内部、かつ、派生クラスの内部からのみアクセス可能
こういうこと?
166デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/23(月) 18:52:13.60ID:Xa6TKCtV0167135 (ワッチョイ 3bc3-9jjH)
2018/04/23(月) 21:02:25.52ID:wp3u/AuE0 皆様いろいろありがとうございました
>>158
書いてくださった方法が、ほぼ私が求めていたものを完璧に実現しています
抱かれてもいいくらい惚れました
ただ、試してみたところピックアップされる順番は必ずしもコントロールを配置した
順番通りではなく、はっきりした法則性も見いだせませんでした
テストプログラムを書いて、インデックスと見た目を一致させるようデザイナで
コントロールを並べ替えようかとも思いましたが、後日コントロールを追加した際
悩むことになりそうなのでやめておきました
>>153
結局この方法でコントロールを検索し、発見したコントロールをリストに追加するという
方法で対応することにしました
>>154
配列に突っ込むにも、コード上に直接 checkBox1 とか checkBox2 とかのリテラルを
埋め込みたくなかったので、検索した上で配列を作ることにしました
>>148, 150, 151
実は書いていることがわからないレベルなので、これから勉強します
「作って覚える」は一通りやったので、「独習c#」を紐解いてみます
>>166
これで解決しました
158の方法で解決するかと思っていたのですが、やってみたところバラバラの順番でした
皮肉でもなんでもなく、コントロールの座標でソートとか、なぜそういう操作をしたいのだろうと
推測したのか教えていただけると嬉しいです
今後も質問すると思いますので、疑問点がわかりやすい文章を意識する必要があるので
>>158
書いてくださった方法が、ほぼ私が求めていたものを完璧に実現しています
抱かれてもいいくらい惚れました
ただ、試してみたところピックアップされる順番は必ずしもコントロールを配置した
順番通りではなく、はっきりした法則性も見いだせませんでした
テストプログラムを書いて、インデックスと見た目を一致させるようデザイナで
コントロールを並べ替えようかとも思いましたが、後日コントロールを追加した際
悩むことになりそうなのでやめておきました
>>153
結局この方法でコントロールを検索し、発見したコントロールをリストに追加するという
方法で対応することにしました
>>154
配列に突っ込むにも、コード上に直接 checkBox1 とか checkBox2 とかのリテラルを
埋め込みたくなかったので、検索した上で配列を作ることにしました
>>148, 150, 151
実は書いていることがわからないレベルなので、これから勉強します
「作って覚える」は一通りやったので、「独習c#」を紐解いてみます
>>166
これで解決しました
158の方法で解決するかと思っていたのですが、やってみたところバラバラの順番でした
皮肉でもなんでもなく、コントロールの座標でソートとか、なぜそういう操作をしたいのだろうと
推測したのか教えていただけると嬉しいです
今後も質問すると思いますので、疑問点がわかりやすい文章を意識する必要があるので
168デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/23(月) 21:07:14.52ID:QriAiZTC0 今日からC#勉強し始めたけど、
結構ネスト深くなる言語っぽいね、これ。こんな…
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
try
{
checked
{
sbyte a = 64;
sbyte b = 65;
sbyte c = (sbyte)(a + b);
}
}
catch (OverflowException ex)
{
Console.Write(ex.Message);
}
}
}
}
結構ネスト深くなる言語っぽいね、これ。こんな…
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
try
{
checked
{
sbyte a = 64;
sbyte b = 65;
sbyte c = (sbyte)(a + b);
}
}
catch (OverflowException ex)
{
Console.Write(ex.Message);
}
}
}
}
169デフォルトの名無しさん (アウアウエー Sa52-PKj8)
2018/04/23(月) 21:09:42.34ID:b1ST+81Ba170デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/23(月) 21:09:53.25ID:QriAiZTC0 namespaceとかcheckedがブロックなのが何かなぁ…
171デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/23(月) 21:27:15.55ID:wp3u/AuE0172デフォルトの名無しさん (ワッチョイ 9a7f-fvqh)
2018/04/23(月) 21:37:46.50ID:48XgAlPp0173デフォルトの名無しさん (ワッチョイ b7e3-i2qG)
2018/04/23(月) 21:45:21.31ID:Xa6TKCtV0 >>167
おそらく配置したコントロールから欲しい情報は座標とサイズぐらいしかない
それらの特定情報は別ファイルにある
なのでコントロールが上から
もしくは左からか順番に取得できれば
別ファイルに記述した通りの順番で情報を並べることができる
Controlsで取得できる順番はよく知らないけど
作った順かあるいわなんの特徴もなくランダムか何かを保証するものではないのかな?と
おそらく配置したコントロールから欲しい情報は座標とサイズぐらいしかない
それらの特定情報は別ファイルにある
なのでコントロールが上から
もしくは左からか順番に取得できれば
別ファイルに記述した通りの順番で情報を並べることができる
Controlsで取得できる順番はよく知らないけど
作った順かあるいわなんの特徴もなくランダムか何かを保証するものではないのかな?と
174デフォルトの名無しさん (ワッチョイ 9a7f-fvqh)
2018/04/23(月) 22:10:47.18ID:48XgAlPp0 >>173
Controlsが返す順番は保証されてないけど、自分でソートすれば良い。
(1)TabIndex順 (各CheckBoxにタブオーダー(TabIndex)を設定しておく)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.TabIndex ).ToArray();
(2)Tag順 (各CheckBoxのTagに数値を設定しておく)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Tag ).ToArray();
(3-1)Location順(左から)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Location.X ).ThenBy( x=> x.Location.Y ).ToArray();
(3-2)Location順(上から)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Location.Y ).ThenBy( x=> x.Location.X ).ToArray();
Controlsが返す順番は保証されてないけど、自分でソートすれば良い。
(1)TabIndex順 (各CheckBoxにタブオーダー(TabIndex)を設定しておく)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.TabIndex ).ToArray();
(2)Tag順 (各CheckBoxのTagに数値を設定しておく)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Tag ).ToArray();
(3-1)Location順(左から)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Location.X ).ThenBy( x=> x.Location.Y ).ToArray();
(3-2)Location順(上から)
this.checkBoxes = this.Controls.OfType< CheckBox >().OrderBy( x => x.Location.Y ).ThenBy( x=> x.Location.X ).ToArray();
175デフォルトの名無しさん (ワッチョイ 179b-Jtac)
2018/04/23(月) 22:33:20.75ID:fnmaDcrK0176デフォルトの名無しさん (ワッチョイ 73d7-TcdZ)
2018/04/23(月) 22:53:14.98ID:pYJnxPYX0 WPFのサンプルでありそうな話だ
177デフォルトの名無しさん (アウアウアー Sa06-S9Qq)
2018/04/23(月) 23:04:57.82ID:0nhwdYRFa178デフォルトの名無しさん (ワッチョイ 1781-5Fj3)
2018/04/24(火) 00:40:53.09ID:U7B9av/W0 >>168
そのtry意味ないんだけど。。
そのtry意味ないんだけど。。
179デフォルトの名無しさん (ワッチョイ 239f-xI9k)
2018/04/24(火) 00:55:02.77ID:P/LpDfjz0 >>178
ネストのイメージ書きたかっただけだろうよ
ネストのイメージ書きたかっただけだろうよ
180デフォルトの名無しさん (ワッチョイ 3bc3-9jjH)
2018/04/24(火) 06:02:26.80ID:PLNFE8AC0181デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 11:44:27.10ID:MJ0NRymv0182デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 12:45:33.19ID:MJ0NRymv0 うぇぇ、C#、goto文使えるし…
183デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 13:15:16.40ID:MJ0NRymv0 うーん、string x = "10"; に対して
x.toString(); するんじゃなくて、int.Parse(x); するのか…。
xオブジェクトにintegerを吐き出させるのではなく、
integerオブジェクトにxオブジェクトを与えてintegerを吐き出させる…。
これは初めての体験だな…。
x.toString(); するんじゃなくて、int.Parse(x); するのか…。
xオブジェクトにintegerを吐き出させるのではなく、
integerオブジェクトにxオブジェクトを与えてintegerを吐き出させる…。
これは初めての体験だな…。
184デフォルトの名無しさん (ワッチョイ 4ec9-9jjH)
2018/04/24(火) 13:18:45.32ID:Ajvhvjmq0 何もかも間違っててワロタw
185デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 13:34:52.91ID:MJ0NRymv0 なにゆえ?
186デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 13:45:01.31ID:MJ0NRymv0 expression-bodied関数は、なんかエロいな…
187デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 13:46:08.52ID:MJ0NRymv0 やってる事は違うけど、考え方的にはCのマクロに近いのかな…
188デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 13:50:59.68ID:MJ0NRymv0 LINQ…、エロいな…。
189デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 13:53:53.94ID:MJ0NRymv0 関数名がアッパーキャメルなのは感心せんなぁ…
190デフォルトの名無しさん (ワッチョイ 17d3-9jjH)
2018/04/24(火) 14:00:18.73ID:a0zqzGgA0 ここ質問スレなんで日記は他所でな
191デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 14:04:20.23ID:MJ0NRymv0 なんだよ、ToString()メソッドあるじゃねぇかよ…。
192デフォルトの名無しさん (ワッチョイ 47c9-8E8L)
2018/04/24(火) 14:05:02.22ID:MJ0NRymv0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」 [♪♪♪★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★2 [お断り★]
- 【存立危機】高市総理 南アフリカに出発 G20サミット出席へ 日中の接触があるかが焦点… [BFU★]
- 【🍝】「偽カルボナーラ」にイタリア激怒、パンチェッタの使用は「犯罪」と非難 ★2 [Ailuropoda melanoleuca★]
- 【貿易】北海道ホタテ業界、中国の輸入停止に「動揺なし」 脱中国進み、輸出可能な加工施設は道内でわずか1社 [1ゲットロボ★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」 [♪♪♪★]
- 日本円と日本国債終わる。勝った!!ネトウヨ国家日本を倒し終わった!! [805596214]
- ジャップランドにネトウヨがこんなに多いとは想わなかったよな🥺 [929293504]
- 【鈴木早苗】お米券おひとり様3000円に閣議決定 [993451824]
- 【高市悲報】日銀植田ようやく気付く「円安進行は、消費者物価の押し上げ要因になる」 [115996789]
- 🏡なにゃこのスリャ!🐧⚡🏡
- 麻生太郎(85)「国民は台湾有事で戦う覚悟が求められる」 [961870172]
