!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part144
https://mevius.5ch.net/test/read.cgi/tech/1563258983/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part145
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1e7b-qjLW)
2019/10/07(月) 20:16:17.93ID:9eyAES45029デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/10(木) 16:37:05.29ID:EXU1k5cj030デフォルトの名無しさん (ワントンキン MM7f-IJsX)
2019/10/10(木) 19:37:58.48ID:+cMNiUZhM ASP.NET(VS2013) でWebアプリを作っています。
データベースから取得したデータをGridViewにBindしています。
特定のカラムを編集したくて OnDataBound イベントにて以下のようにしてTextBoxを追加しました。
foreach (GridViewRow rw in GridView1.Rows)
{
TextBox txt = new TextBox();
txt.Text = rw.Cells[2].Text;
rw.Cells[2].Controls.Add(txt);
}
この後、TextBoxの値を取得したいのですが、
foreach (GridViewRow rw in GridView1.Rows)
{
TextBox txt = (TextBox)rw.Cells[2].Controls[0];
xx = txt.Text;
}
ではうまくいきません。Controlsがないようです。
どうすればTextBoxの値を取得できるでしょうか。
データベースから取得したデータをGridViewにBindしています。
特定のカラムを編集したくて OnDataBound イベントにて以下のようにしてTextBoxを追加しました。
foreach (GridViewRow rw in GridView1.Rows)
{
TextBox txt = new TextBox();
txt.Text = rw.Cells[2].Text;
rw.Cells[2].Controls.Add(txt);
}
この後、TextBoxの値を取得したいのですが、
foreach (GridViewRow rw in GridView1.Rows)
{
TextBox txt = (TextBox)rw.Cells[2].Controls[0];
xx = txt.Text;
}
ではうまくいきません。Controlsがないようです。
どうすればTextBoxの値を取得できるでしょうか。
31デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/10(木) 19:39:53.55ID:i+8+28k+F ・extBox txt = (TextBox)(rw.Cells[2]).Controls[0];
32デフォルトの名無しさん (ワントンキン MM7f-IJsX)
2019/10/10(木) 20:08:53.90ID:aBdkLcoOM33デフォルトの名無しさん (ワッチョイ ffa7-NJTS)
2019/10/10(木) 21:29:45.48ID:kk1CdJ+b0 ProcessクラスにはDispose()があるようですが、
var processes = Process.GetProcesses();
とした時点で上記のProcess[]内のProcessたちを全てDispose()しないとメモリリークなどしてしまうのでしょうか?
それとも実際にハンドルなどを参照したものだけDispose()すれば良いのでしょうか?
var processes = Process.GetProcesses();
とした時点で上記のProcess[]内のProcessたちを全てDispose()しないとメモリリークなどしてしまうのでしょうか?
それとも実際にハンドルなどを参照したものだけDispose()すれば良いのでしょうか?
34デフォルトの名無しさん (アウアウウー Sa5b-AFDN)
2019/10/10(木) 21:39:45.74ID:afa4sCIxa >>33
https://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Process.cs,1554
ReferenceSourceを見ると
GetProcessesByName()が内部でGetProcesses()を使っていて、それの戻り値配列に使わない場合はDispose()しているから
GetProcesses()を直接呼び出している場合でも戻り値配列の各ProcessをDispose()したほうが良さそう
GC管理下にあるからDisposeを呼び忘れていても、ファイナライザが呼び出されて少なくともメモリーは回収されるとは思う
https://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Process.cs,1554
ReferenceSourceを見ると
GetProcessesByName()が内部でGetProcesses()を使っていて、それの戻り値配列に使わない場合はDispose()しているから
GetProcesses()を直接呼び出している場合でも戻り値配列の各ProcessをDispose()したほうが良さそう
GC管理下にあるからDisposeを呼び忘れていても、ファイナライザが呼び出されて少なくともメモリーは回収されるとは思う
35デフォルトの名無しさん (ワッチョイ ffa7-NJTS)
2019/10/10(木) 21:49:47.76ID:kk1CdJ+b036デフォルトの名無しさん (ワッチョイ 976e-qVzB)
2019/10/10(木) 21:51:48.13ID:IMCrZqO+0 クラスA内にインスタンスメソッドBがあったとして、長くなってしまったから一部をメソッドCとして外に出すとします
このCはBから呼び出される以外どこからも参照されません。本当にちょっと分離するためだけに分けているのです
このときCの修飾子はどうするのがいいのでしょうか。publicは論外として、ただ単にprivateでいいんですかね
staticとかつけた方がいいですか?クラス内で変な使われ方するのを防いだ方がいいかなとか思ったのですが
このCはBから呼び出される以外どこからも参照されません。本当にちょっと分離するためだけに分けているのです
このときCの修飾子はどうするのがいいのでしょうか。publicは論外として、ただ単にprivateでいいんですかね
staticとかつけた方がいいですか?クラス内で変な使われ方するのを防いだ方がいいかなとか思ったのですが
37デフォルトの名無しさん (ワッチョイ 7717-NJTS)
2019/10/10(木) 22:11:44.95ID:IquandTc0 そのソースを自分しか触らないのであればprivateでいいと思う
自分で作っているんだから変な使われ方をされることもないだろ?
もし他の開発者が触る可能性があるんならローカル関数を使えばOK
自分で作っているんだから変な使われ方をされることもないだろ?
もし他の開発者が触る可能性があるんならローカル関数を使えばOK
38デフォルトの名無しさん (ワッチョイ 9fad-vnAR)
2019/10/10(木) 22:18:06.84ID:BXM3vcse0 privateにしてコメントに注意書きしておけばいいと思うが
メソッド名の頭にアンダースコアつけるとか
DoSomethingFromBOnly()みたいな名前にしておくとか
メソッド名の頭にアンダースコアつけるとか
DoSomethingFromBOnly()みたいな名前にしておくとか
39デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/10(木) 22:21:13.96ID:hT7PmE+00 全部public
クラスAを継承したクラスA2で
メソッドBをちょっと変えた
メソッドB2を作りたいときに
メソッドCを呼べない欠陥クラス
クラスAを継承したクラスA2で
メソッドBをちょっと変えた
メソッドB2を作りたいときに
メソッドCを呼べない欠陥クラス
40デフォルトの名無しさん (アウアウウー Sa5b-YqqQ)
2019/10/10(木) 22:26:58.12ID:PsSxAeUca >>36
普通にprivateにすればOK。
誤用されるリスクは分割したメソッドに固有の問題じゃない。
それは命名と抽象化が不適切ならどのメソッドにも起こりうる。
だから分割したら誤用されるんじゃないか、って発想はかなり変だ。
staticはインスタンスメンバーを使わないなら付けるべきだが、付けたからって
誤用されるリスクが減るわけじゃない。
ローカル関数は、
(1) 分割したメソッドを何度も呼び出す。
(2) その時に必ず同じ変数を引数として渡す(それが冗長に感じる)
こういうケースじゃなきゃ積極的に使う理由はない気がする。
普通にprivateにすればOK。
誤用されるリスクは分割したメソッドに固有の問題じゃない。
それは命名と抽象化が不適切ならどのメソッドにも起こりうる。
だから分割したら誤用されるんじゃないか、って発想はかなり変だ。
staticはインスタンスメンバーを使わないなら付けるべきだが、付けたからって
誤用されるリスクが減るわけじゃない。
ローカル関数は、
(1) 分割したメソッドを何度も呼び出す。
(2) その時に必ず同じ変数を引数として渡す(それが冗長に感じる)
こういうケースじゃなきゃ積極的に使う理由はない気がする。
41デフォルトの名無しさん (ワッチョイ 9f79-NJTS)
2019/10/10(木) 23:44:04.64ID:a+kHg1ZD0 メソッドBからしか正常に動作しないメソッドCという構図ならそもそも設計が怪しい
メソッドB以外から使われることがないだろうくらいの感じなら
万一使われても別に困らないしprivateで問題ない
メソッドB以外から使われることがないだろうくらいの感じなら
万一使われても別に困らないしprivateで問題ない
42デフォルトの名無しさん (アウアウウー Sa5b-Cvo3)
2019/10/10(木) 23:49:12.95ID:+/bzkuJ6a ローカル関数を使いたがる奴は総じてレベルが低いね
43デフォルトの名無しさん (ワッチョイ 1f2d-epSy)
2019/10/10(木) 23:51:17.44ID:mQn3Hgbj0 グローバルおじさんが来たな
44デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/10(木) 23:56:49.95ID:hT7PmE+0045デフォルトの名無しさん (ワッチョイ 1f2d-epSy)
2019/10/10(木) 23:58:46.54ID:mQn3Hgbj0 >>44
でもまあ拡張性に優れてないのは元からっぽいから、分けて書くことに始まった問題じゃないじゃん?
でもまあ拡張性に優れてないのは元からっぽいから、分けて書くことに始まった問題じゃないじゃん?
46デフォルトの名無しさん (ワッチョイ 9f79-NJTS)
2019/10/11(金) 00:18:02.53ID:f+9us5CU0 全部publicおじさんなんかどう見ても荒らしなんだからNGに放り込んどけ
47デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/11(金) 00:18:46.89ID:vfhfRP3v0 >>39のケースを解決しようととりあえずprotectedにすればいいと思うだろ?
ところがメソッドB2の処理の途中に
クラスXの処理を絡ませなければならないことになった
しかし、クラスA2はクラスXを呼び出すと循環参照になってしまうためそれができない
なのでクラスEにメソッドB3を作成することになった
ときにメソッドCはprivateでは呼び出すことができない
ここまで解決しようとするとメソッドCはpublicにしておくしかない
そしてこれはよくあることだ
ところがメソッドB2の処理の途中に
クラスXの処理を絡ませなければならないことになった
しかし、クラスA2はクラスXを呼び出すと循環参照になってしまうためそれができない
なのでクラスEにメソッドB3を作成することになった
ときにメソッドCはprivateでは呼び出すことができない
ここまで解決しようとするとメソッドCはpublicにしておくしかない
そしてこれはよくあることだ
48デフォルトの名無しさん (ワッチョイ 9fa5-8cCB)
2019/10/11(金) 00:26:16.32ID:i87v0bN60 全部virtualだろ普通
49デフォルトの名無しさん (ワッチョイ 17da-IE9o)
2019/10/11(金) 06:13:02.24ID:YbeJbbo90 皆さんは、Windowsノートパソコンで開発されてるのでしょうか?
それともsurface?MacBook Pro?iPad Pro?
プログラミング用にMacBookをすすめるサイトをよく見ますがC#ではやはりWindows機?
個人的にはThinkPadかなと思ってますが
皆さんはどんなもんですか
それともsurface?MacBook Pro?iPad Pro?
プログラミング用にMacBookをすすめるサイトをよく見ますがC#ではやはりWindows機?
個人的にはThinkPadかなと思ってますが
皆さんはどんなもんですか
50デフォルトの名無しさん (ワッチョイ 5763-a9Gg)
2019/10/11(金) 06:47:08.88ID:MFeQoEVg0 デスクトップだけど
51デフォルトの名無しさん (ドコグロ MM9b-Kkga)
2019/10/11(金) 07:23:14.81ID:e5VBdiYBM >>47
> そしてこれはよくあることだ
ねーよ
よくあるとしたらお前の設計力が無さすぎ
そもそも
> メソッドBをちょっと変えた
> メソッドB2を作りたいときに
の時にBからB2をコピペして改変する時点でアホ丸出し
> そしてこれはよくあることだ
ねーよ
よくあるとしたらお前の設計力が無さすぎ
そもそも
> メソッドBをちょっと変えた
> メソッドB2を作りたいときに
の時にBからB2をコピペして改変する時点でアホ丸出し
52デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/11(金) 07:54:18.02ID:vfhfRP3v053デフォルトの名無しさん (ドコグロ MM9b-Kkga)
2019/10/11(金) 08:18:01.09ID:e5VBdiYBM >>52
アホすぎる…
クラスAをベースクラスにして変更部分をvirtualで差し替えてA1(これが今までのA)とA2を作る
変更部分にCを呼ぶコードがあるならCはクラスA1にだけあればいい
変更部分にCを呼ぶコードがないならCはクラスAに置いとけばいい
アホすぎる…
クラスAをベースクラスにして変更部分をvirtualで差し替えてA1(これが今までのA)とA2を作る
変更部分にCを呼ぶコードがあるならCはクラスA1にだけあればいい
変更部分にCを呼ぶコードがないならCはクラスAに置いとけばいい
54デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/11(金) 08:20:42.62ID:vfhfRP3v055デフォルトの名無しさん (アウアウウー Sa5b-IE9o)
2019/10/11(金) 08:24:45.95ID:blacN5wca >>50
うぅ・・
うぅ・・
56デフォルトの名無しさん (ワッチョイ ffa7-NJTS)
2019/10/11(金) 08:43:13.37ID:Q3FyvZZg0 今開発中のもので初めて例外を補足しない強制終了が起こったのですが、原因としては唯一のunsafeであるstackallocだと思われます
var stack = count <= 20 ? stackalloc ulong[count] : new ulong[count];
動的なサイズですが上記のように一応サイズ制限はしていたのですが、ulong[20](160byte)程度でもスタックオーバーフローは起こり得るんでしょうか?
var stack = count <= 20 ? stackalloc ulong[count] : new ulong[count];
動的なサイズですが上記のように一応サイズ制限はしていたのですが、ulong[20](160byte)程度でもスタックオーバーフローは起こり得るんでしょうか?
57デフォルトの名無しさん (ドコグロ MM9b-Kkga)
2019/10/11(金) 08:56:19.70ID:e5VBdiYBM58デフォルトの名無しさん (ワンミングク MM7f-IJsX)
2019/10/11(金) 08:56:32.12ID:01d3zJlsM >>30です。
何かヒント頂けないでしょうか。
何かヒント頂けないでしょうか。
59デフォルトの名無しさん (ワッチョイ 1788-3EhD)
2019/10/11(金) 09:01:19.07ID:w9BsPIYw0 >>56
残りスタックが少なければ起こりうると思うけど例外吐いてないなら別の要因じゃないかと思う
残りスタックが少なければ起こりうると思うけど例外吐いてないなら別の要因じゃないかと思う
60デフォルトの名無しさん (ワッチョイ 7f7c-AFDN)
2019/10/11(金) 09:06:03.62ID:Nij9ynML0 >>56
イベントログを見てStackOverflowExceptionであることは確認した?
イベントログを見てStackOverflowExceptionであることは確認した?
61デフォルトの名無しさん (ドコグロ MM8b-Cvo3)
2019/10/11(金) 09:46:04.72ID:ZRjHQIQqM62デフォルトの名無しさん (アウアウウー Sa5b-AFDN)
2019/10/11(金) 10:32:44.13ID:4B4iU4j0a >>61
https://ufcpp.net/study/csharp/resource/span/#safe-stackalloc
C#7.2から出来るようになった
stackallocもnewも暗黙的にSpan<T>へ変換される
https://ufcpp.net/study/csharp/resource/span/#safe-stackalloc
C#7.2から出来るようになった
stackallocもnewも暗黙的にSpan<T>へ変換される
63デフォルトの名無しさん (ワッチョイ d7de-GP3X)
2019/10/11(金) 11:58:36.03ID:y81cSpJS064デフォルトの名無しさん (ドコグロ MM9b-Kkga)
2019/10/11(金) 12:32:45.04ID:e5VBdiYBM65デフォルトの名無しさん (ワッチョイ f7de-GP3X)
2019/10/11(金) 12:59:48.32ID:47sbrrFf0 >>64
え?継承元のprivateって呼べないよね?
え?継承元のprivateって呼べないよね?
66デフォルトの名無しさん (アウアウクー MMcb-t9WR)
2019/10/11(金) 13:49:55.26ID:R9rR1P0/M 古いコードを見ているのですが
if (false) {// なにか処理}
がたっくさんあるんです。
到達できないコードが検出されましたって大量に出て当たり前だよ!って
仮に何か意味があるとしたらどんな理由が考えられるでしょうか
全部消せと思うのですが何かわたしの知らないテクニックだったらまずいですし
if (false) {// なにか処理}
がたっくさんあるんです。
到達できないコードが検出されましたって大量に出て当たり前だよ!って
仮に何か意味があるとしたらどんな理由が考えられるでしょうか
全部消せと思うのですが何かわたしの知らないテクニックだったらまずいですし
67デフォルトの名無しさん (ワッチョイ 5701-Jxu8)
2019/10/11(金) 13:49:59.05ID:V+fiNkQ50 C#なら出来るでしょう
68デフォルトの名無しさん (ワッチョイ 17da-dMdZ)
2019/10/11(金) 13:51:26.84ID:IXdSVzcC0 テスト用なんじゃね
必要なくなったからfalseにしているだけでは
必要なくなったからfalseにしているだけでは
69デフォルトの名無しさん (ワッチョイ 1788-3EhD)
2019/10/11(金) 14:01:31.76ID:w9BsPIYw0 テストとかデバッグ用の処理じゃないかな
#if falseにすれば警告は除去できると思う
#if falseにすれば警告は除去できると思う
70デフォルトの名無しさん (ドコグロ MM2b-Kkga)
2019/10/11(金) 14:50:33.17ID:Y/pxrYXGM71デフォルトの名無しさん (ワッチョイ f7de-GP3X)
2019/10/11(金) 16:11:04.13ID:RwnMXNoM072デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 16:55:31.32ID:BNgoH63S0 Properties.Settings.Defaultについて教えてください
DataGridViewのセル幅の設定を保存したいのですが、いい方法はあるでしょうか?
セルが20個ほど並んでるのですが、Settings.SettingsにはInt[]の配列が選べないし
プロパティバインディングも項目がありません、たくさんのIntを保存するにはどうしたらよいでしょか?
DataGridViewのセル幅の設定を保存したいのですが、いい方法はあるでしょうか?
セルが20個ほど並んでるのですが、Settings.SettingsにはInt[]の配列が選べないし
プロパティバインディングも項目がありません、たくさんのIntを保存するにはどうしたらよいでしょか?
73デフォルトの名無しさん (アウアウウー Sa5b-YqqQ)
2019/10/11(金) 16:55:34.98ID:Qe/y/ERba >>66
謎だねw
#ifディレクティブやコメントアウトを選択しなかった理由は
IDEでシンボル検索した時に引っかかるようにしたかったから、とかも考えられるけど、
まあ多分単純に書いた人がアホなだけだろうw
仮にそうう理由があるとしてもfalseなんてリテラルをそのまま書くのは意味が分からん
謎だねw
#ifディレクティブやコメントアウトを選択しなかった理由は
IDEでシンボル検索した時に引っかかるようにしたかったから、とかも考えられるけど、
まあ多分単純に書いた人がアホなだけだろうw
仮にそうう理由があるとしてもfalseなんてリテラルをそのまま書くのは意味が分からん
74デフォルトの名無しさん (ワッチョイ 5701-Jxu8)
2019/10/11(金) 17:05:59.65ID:V+fiNkQ50 Java屋に呪いをかけられた。
75デフォルトの名無しさん (ワッチョイ 7f7c-AFDN)
2019/10/11(金) 17:10:57.43ID:Nij9ynML0 >>72
カンマ区切りの文字列にでもするとか
カンマ区切りの文字列にでもするとか
76デフォルトの名無しさん (ワッチョイ 9f42-NJTS)
2019/10/11(金) 17:48:11.14ID:6fhPxX7E0 json.netで文字列にして保存とか・・・そこまでやるならってのはナシで
77デフォルトの名無しさん (ドコグロ MM2b-Kkga)
2019/10/11(金) 17:58:14.17ID:Y/pxrYXGM78デフォルトの名無しさん (スププ Sdbf-d6eQ)
2019/10/11(金) 18:18:20.39ID:8nYO+EkJd 質問した人はもはや興味なくなってそう
79デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 19:16:25.09ID:BNgoH63S080デフォルトの名無しさん (ワッチョイ 5701-Jxu8)
2019/10/11(金) 19:54:41.57ID:V+fiNkQ50 splitで配列化出来るでしょ?
81デフォルトの名無しさん (ワッチョイ 7f7c-AFDN)
2019/10/11(金) 19:57:20.55ID:Nij9ynML0 挙動が怪しいって言われてもコメントしようがない
82デフォルトの名無しさん (オッペケ Srcb-8cCB)
2019/10/11(金) 19:59:39.92ID:NbTMQOfEr カンマが全角半角交じりなのかもね
83デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 20:21:50.98ID:BNgoH63S0 >>80
さんくす
数字カンマで区切ってsplitですか、簡単にできそうですね
>>81
保存する種類をsystem.collections.specialized.stringcollectionとゆう文字列のコレクションを使って
.addと.clearでいろいろやってるうちにwidthが0になったりと
Properties.Settings.Default.cellwidth = new System.Collections.Specialized.StringCollection();
for (int i = 0; i < DataGridView1.ColumnCount; i++)
{
Properties.Settings.Default.cellwidth.Add(DataGridView1.Columns[i].Width.ToString());
}
こんなんです、これは捨てます
さんくす
数字カンマで区切ってsplitですか、簡単にできそうですね
>>81
保存する種類をsystem.collections.specialized.stringcollectionとゆう文字列のコレクションを使って
.addと.clearでいろいろやってるうちにwidthが0になったりと
Properties.Settings.Default.cellwidth = new System.Collections.Specialized.StringCollection();
for (int i = 0; i < DataGridView1.ColumnCount; i++)
{
Properties.Settings.Default.cellwidth.Add(DataGridView1.Columns[i].Width.ToString());
}
こんなんです、これは捨てます
84デフォルトの名無しさん (ワッチョイ 1788-3EhD)
2019/10/11(金) 20:36:41.64ID:w9BsPIYw0 string.Join(",", array)で保存
array=text.Split(",").ToArray()で復元
スマホで書いたからミスってたらごめん
array=text.Split(",").ToArray()で復元
スマホで書いたからミスってたらごめん
85デフォルトの名無しさん (アウアウエー Sadf-P4H7)
2019/10/11(金) 20:37:39.82ID:NJkU4MQ7a >>49
非光沢液晶のパソコンでプログラミングすることをすすめます。
非光沢液晶のパソコンでプログラミングすることをすすめます。
86デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 20:48:12.25ID:BNgoH63S087デフォルトの名無しさん (ワッチョイ 9f01-XBGY)
2019/10/11(金) 21:11:40.42ID:LwZAFcHp088デフォルトの名無しさん (ワッチョイ 9f01-XBGY)
2019/10/11(金) 21:37:31.10ID:LwZAFcHp089デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/11(金) 21:55:04.78ID:Obz6LqVu0 不要な循環参照は避けるに越したことはないが
絶対に回避しないといけないものではないしな
設計的に妥当かどうか
絶対に回避しないといけないものではないしな
設計的に妥当かどうか
90デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/11(金) 22:06:26.29ID:BNgoH63S09136 (ワッチョイ 976e-qVzB)
2019/10/11(金) 22:30:13.36ID:SS1U2hzP0 遅くなりましたがありがとうございました。とりあえずprivateでやってみようと思います。
しかし恥ずかしながらローカル関数って初めて知りました……こんなんあったのか
しかし恥ずかしながらローカル関数って初めて知りました……こんなんあったのか
92デフォルトの名無しさん (ブーイモ MMbf-dMdZ)
2019/10/11(金) 23:40:49.38ID:AHeGNijQM なんとローカルクラスもあったりするぞ
93デフォルトの名無しさん (ワッチョイ 9f79-NJTS)
2019/10/12(土) 03:22:40.33ID:wdaAvj3T0 ローカルクラスとか初めて聞いたんだが
Javaか何かと間違えてないか?
Javaか何かと間違えてないか?
94デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/12(土) 03:39:46.40ID:GmlLfjiE0 内部クラスつまりクラス内クラスのことかもな
ローカルクラスとは言わないけどな
ローカルクラスとは言わないけどな
95デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/12(土) 08:19:37.23ID:2OGp7+/U0 匿名クラスのことだろ
LinQの関数の戻りとかでたまに使う
LinQの関数の戻りとかでたまに使う
96デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/12(土) 08:24:48.13ID:2OGp7+/U0 var hoge = new { Name = "Masashi", Hage = true };
こんな感じで宣言出來ると思う
こんな感じで宣言出來ると思う
97デフォルトの名無しさん (ワッチョイ 7717-NJTS)
2019/10/12(土) 11:24:29.87ID:tnbTUN6u0 class hoge {
class fuga {}
class moge {}
}
こういうやつ
呼び方は知らん
class fuga {}
class moge {}
}
こういうやつ
呼び方は知らん
98デフォルトの名無しさん (ワッチョイ 9fad-0kc9)
2019/10/12(土) 11:25:43.31ID:V3SUioeZ0 ローカルクラスwww
99デフォルトの名無しさん (ワッチョイ 97ad-Gs6/)
2019/10/12(土) 11:45:16.39ID:vesGJIfT0 Java 用語だったのか。 < ローカルクラス
クラス内だけじゃなくてメソッド内でも作れるみたいだけど。
匿名クラスは無名クラスだと思ってた自分。
この流れでしょうもないことを聞いてみる。
static なメンバ変数の修飾子というか、
static でないメンバ変数の this.[変数名] の this に当たるようなのってなにかないですか。
[クラス名].[変数名] で ok なのだけど、[クラス名] の部分を固定でやる方法ないかなと。
クラス内だけじゃなくてメソッド内でも作れるみたいだけど。
匿名クラスは無名クラスだと思ってた自分。
この流れでしょうもないことを聞いてみる。
static なメンバ変数の修飾子というか、
static でないメンバ変数の this.[変数名] の this に当たるようなのってなにかないですか。
[クラス名].[変数名] で ok なのだけど、[クラス名] の部分を固定でやる方法ないかなと。
100デフォルトの名無しさん (ワッチョイ 177b-1wBF)
2019/10/12(土) 11:59:16.22ID:XFT6PVwJ0 >>99
エイリアスとかこういう話?
using ディレクティブ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
エイリアスとかこういう話?
using ディレクティブ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
101デフォルトの名無しさん (ワッチョイ 9ff9-MuM5)
2019/10/12(土) 13:15:47.71ID:4Z7PGm8S0102デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 08:38:04.22ID:LP1yPe2h0 for(int i = 0; DataGridView1.Columns.Count > i; i++)
{
DataGridView1.Columns[i].MinimumWidth = 20;
}
これってもっと簡単に書けませんか?
{
DataGridView1.Columns[i].MinimumWidth = 20;
}
これってもっと簡単に書けませんか?
103デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/13(日) 08:43:29.30ID:vtlUUDcx0 重複するコードを削っていくのがコツ
104デフォルトの名無しさん (ワッチョイ 9fba-hyGP)
2019/10/13(日) 08:45:05.27ID:vtlUUDcx0 コード変えていいならLINQとかもあり
105デフォルトの名無しさん (ワッチョイ 976e-qVzB)
2019/10/13(日) 09:09:50.77ID:d8Y4MxQw0 全回しするときは基本的にforeachを使う
ただlinqのforeachを使ってよいのかはよくわからん。パフォーマンス悪いと聞くし
ただlinqのforeachを使ってよいのかはよくわからん。パフォーマンス悪いと聞くし
106デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/13(日) 09:18:59.05ID:MGaULTRj0 LinqにForEachはない
あれはリストのメソッドだよ
あれはリストのメソッドだよ
107デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 09:22:18.96ID:LP1yPe2h0108デフォルトの名無しさん (アウアウイー Sacb-FzDa)
2019/10/13(日) 09:33:52.48ID:f3TGJJSYa ん?
for (var c in DataGridView1.Columns) { c.MinimumWidth=20; }
よりも短く描きたいってこと?
for (var c in DataGridView1.Columns) { c.MinimumWidth=20; }
よりも短く描きたいってこと?
109デフォルトの名無しさん (ワッチョイ f761-GP3X)
2019/10/13(日) 09:47:34.60ID:OAJhlsQO0 そんなんどうでもいいから動くモノ作れよ初心者
110デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 11:07:58.19ID:LP1yPe2h0111デフォルトの名無しさん (ブーイモ MMfb-7uLQ)
2019/10/13(日) 11:40:17.68ID:OktAHnGcM >>108
foreach
foreach
112デフォルトの名無しさん (ワッチョイ ff1b-7XqI)
2019/10/13(日) 11:45:00.17ID:MGaULTRj0 >>110
var をDataGridColumn に変えれば出る
var をDataGridColumn に変えれば出る
113デフォルトの名無しさん (アウアウイー Sacb-FzDa)
2019/10/13(日) 11:55:56.33ID:f3TGJJSYa えーそんなわけないでしょと思って確認したら
ColumnsのDataGridViewColumnCollectionは非ジェネリクスのIListしか実装してないのか・・・
DataGridViewってVS2005以前の書き方で実装されてるのね
となると、かっこ悪いけどキャストをかませて
for (var c in DataGridView1.Columns) { (c as DataGridViewColumn).MinimumWidth=20; }
と書くくらいしかないか、>>103のとおりDataGridView.Columnsを変数にするくらいしかなさそう
ColumnsのDataGridViewColumnCollectionは非ジェネリクスのIListしか実装してないのか・・・
DataGridViewってVS2005以前の書き方で実装されてるのね
となると、かっこ悪いけどキャストをかませて
for (var c in DataGridView1.Columns) { (c as DataGridViewColumn).MinimumWidth=20; }
と書くくらいしかないか、>>103のとおりDataGridView.Columnsを変数にするくらいしかなさそう
114デフォルトの名無しさん (アウアウイー Sacb-FzDa)
2019/10/13(日) 11:57:39.01ID:f3TGJJSYa あ、forじゃなくてforeachか
ちゃんとIDEなりVSCodeなり立ち上げて書かなきゃだめね、失礼
ちゃんとIDEなりVSCodeなり立ち上げて書かなきゃだめね、失礼
115デフォルトの名無しさん (ワッチョイ 9701-Wib4)
2019/10/13(日) 12:28:10.86ID:Fykc0AcJ0 抽象クラスとインターフェースの使い分けのコツを具体例で教えて下さい!
116デフォルトの名無しさん (ブーイモ MMfb-4N8v)
2019/10/13(日) 12:37:21.72ID:mgqzqij/M 昔の人は言いました「習うより慣れろ」
117デフォルトの名無しさん (ワッチョイ f761-NJTS)
2019/10/13(日) 12:37:30.46ID:f2RSEbKl0 そんなんどうでもいいから動くモノ作れよ初心者
118デフォルトの名無しさん (アウアウウー Sa5b-Cvo3)
2019/10/13(日) 12:43:25.13ID:2Iz5cpana >>116
使い分ける必要はない
常にインターフェイスを使う、でいいよ
抽象クラスはインターフェイスを使った上で、どうしても実装の大部分が重複してしまうような場合に稀に使うことがある、という程度のもの
全く使わなくても問題はない
使い分ける必要はない
常にインターフェイスを使う、でいいよ
抽象クラスはインターフェイスを使った上で、どうしても実装の大部分が重複してしまうような場合に稀に使うことがある、という程度のもの
全く使わなくても問題はない
119デフォルトの名無しさん (ワッチョイ 97ad-Gs6/)
2019/10/13(日) 12:58:41.62ID:BB7naElC0 >>100
所属クラスを示す汎用のエイリアスのようなものがないかなーと。
でも using static ディレクティブ自体を知らなかったので勉強になりました。これを定義すれば結果として同じ事出来るし。
ありがとう。
所属クラスを示す汎用のエイリアスのようなものがないかなーと。
でも using static ディレクティブ自体を知らなかったので勉強になりました。これを定義すれば結果として同じ事出来るし。
ありがとう。
120デフォルトの名無しさん (ブーイモ MMfb-4N8v)
2019/10/13(日) 13:02:36.16ID:mgqzqij/M 昔の人は言いました「100人のプログラマーがいたら100通りのオブジェクト指向がある」
121デフォルトの名無しさん (ワッチョイ 9701-UsEV)
2019/10/13(日) 13:29:52.94ID:LP1yPe2h0122デフォルトの名無しさん (ワッチョイ 1763-pvAI)
2019/10/13(日) 14:00:31.12ID:2cfG7zlA0 8からデフォルト実装も入るからますます使いどころが
123デフォルトの名無しさん (ワッチョイ ff7c-NJTS)
2019/10/13(日) 18:12:47.60ID:0yCAsIX/0 WinFormsで、フォーカスが当たってない時でもキー入力を取る方法ってありますか?
124デフォルトの名無しさん (ワッチョイ f77b-l+7E)
2019/10/13(日) 18:19:19.83ID:jypX7pQ50125デフォルトの名無しさん (アウアウウー Sa5b-djnn)
2019/10/15(火) 07:52:01.52ID:AMNrrJ6ya >>123
key入力をグローバルHook
key入力をグローバルHook
126デフォルトの名無しさん (ササクッテロル Spcb-W2Tq)
2019/10/15(火) 11:19:35.89ID:m0jqn6iGp アプリ自体にフォーカス当たって無くてもいいの?
127デフォルトの名無しさん (ワッチョイ 17da-M8NH)
2019/10/15(火) 11:24:15.06ID:pr9WFxZa0 イインダヨ
128デフォルトの名無しさん (ササクッテロル Spcb-W2Tq)
2019/10/15(火) 11:28:33.47ID:m0jqn6iGp ああ、パスワードスキミングするならむしろそうじゃないと都合悪いかw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 中国「日本のネトウヨを根絶してやるからな」。ネトウヨ、人生が終わる [805596214]
- お前らってヘアオイル何使ってるの?
- (´・ω・`)刑務所での暮らしwwwwwwwwwwwwwwww
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- なぜ人間は架空の人物に感情移入するのか
- 【速報】高市早苗、起床 [779938112]
