[表示 : 全て 最新50 1-99 101- 201- 2ch.scのread.cgiへ]
Update time : 10/26 17:42 / Filesize : 74 KB / Number-of Response : 273
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part145



1 名前:デフォルトの名無しさん [2019/10/07(月) 20:16:17.93 ID:9eyAES450.net]
!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/
■コードを貼る場合は↓を使いましょう。
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
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

52 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 07:54:18.02 ID:vfhfRP3v0.net]
>>51
え?じゃあどうするん?
話の主旨とそれるけど
virtualにしてもやっぱりメソッドCは呼べんやろ
それで?
どうしたいって?

53 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 08:18:01.09 ID:e5VBdiYBM.net]
>>52
アホすぎる…
クラスAをベースクラスにして変更部分をvirtualで差し替えてA1(これが今までのA)とA2を作る
変更部分にCを呼ぶコードがあるならCはクラスA1にだけあればいい
変更部分にCを呼ぶコードがないならCはクラスAに置いとけばいい

54 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 08:20:42.62 ID:vfhfRP3v0.net]
>>53
え?なんかよくわからない
>>39みたいにかけない?
継承先でメソッドCを呼ぶ必要があるときどうだって?

55 名前:デフォルトの名無しさん [2019/10/11(金) 08:24:45.95 ID:blacN5wca.net]
>>50
うぅ・・

56 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 08:43:13.37 ID:Q3FyvZZg0.net]
今開発中のもので初めて例外を補足しない強制終了が起こったのですが、原因としては唯一のunsafeであるstackallocだと思われます
var stack = count <= 20 ? stackalloc ulong[count] : new ulong[count];
動的なサイズですが上記のように一応サイズ制限はしていたのですが、ulong[20](160byte)程度でもスタックオーバーフローは起こり得るんでしょうか?

57 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 08:56:19.70 ID:e5VBdiYBM.net]
>>54
ちょっとは勉強しろよ...
両方の継承先で呼ぶ必要があるならベースに置けばいい
どっちか片方だけでいいなら必要とする継承先に置けばいいだけ
まともにコード書いたことないのか?

58 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 08:56:32.12 ID:01d3zJlsM.net]
>>30です。
何かヒント頂けないでしょうか。

59 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 09:01:19.07 ID:w9BsPIYw0.net]
>>56
残りスタックが少なければ起こりうると思うけど例外吐いてないなら別の要因じゃないかと思う

60 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 09:06:03.62 ID:Nij9ynML0.net]
>>56
イベントログを見てStackOverflowExceptionであることは確認した?



61 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 09:46:04.72 ID:ZRjHQIQqM.net]
>>56
それコンパイル通るのか?
?の第2オペランドと第3オペランドの型があってないように見えるが

62 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 10:32:44.13 ID:4B4iU4j0a.net]
>>61
https://ufcpp.net/study/csharp/resource/span/#safe-stackalloc
C#7.2から出来るようになった
stackallocもnewも暗黙的にSpan<T>へ変換される

63 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 11:58:36.03 ID:y81cSpJS0.net]
>>57
え?
意味不明

64 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 12:32:45.04 ID:e5VBdiYBM.net]
>>63
勉強不足すぎw
てか多態の基本だぞ

65 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 12:59:48.32 ID:47sbrrFf0.net]
>>64
え?継承元のprivateって呼べないよね?

66 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 13:49:55.26 ID:R9rR1P0/M.net]
古いコードを見ているのですが
if (false) {// なにか処理}
がたっくさんあるんです。
到達できないコードが検出されましたって大量に出て当たり前だよ!って

仮に何か意味があるとしたらどんな理由が考えられるでしょうか
全部消せと思うのですが何かわたしの知らないテクニックだったらまずいですし

67 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 13:49:59.05 ID:V+fiNkQ50.net]
C#なら出来るでしょう

68 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 13:51:26.84 ID:IXdSVzcC0.net]
テスト用なんじゃね
必要なくなったからfalseにしているだけでは

69 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 14:01:31.76 ID:w9BsPIYw0.net]
テストとかデバッグ用の処理じゃないかな
#if falseにすれば警告は除去できると思う

70 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 14:50:33.17 ID:Y/pxrYXGM.net]
>>65
継承元のprivateを呼ぶ話なんてしてないだろ
>>53をちゃんと読めよ



71 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 16:11:04.13 ID:RwnMXNoM0.net]
>>70
じゃあ、お前、一連の流れを理解しないでレス付けたな
もうようないわ

72 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 16:55:31.32 ID:BNgoH63S0.net]
Properties.Settings.Defaultについて教えてください
DataGridViewのセル幅の設定を保存したいのですが、いい方法はあるでしょうか?

セルが20個ほど並んでるのですが、Settings.SettingsにはInt[]の配列が選べないし
プロパティバインディングも項目がありません、たくさんのIntを保存するにはどうしたらよいでしょか?

73 名前:デフォルトの名無しさん [2019/10/11(金) 16:55:34.98 ID:Qe/y/ERba.net]
>>66
謎だねw
#ifディレクティブやコメントアウトを選択しなかった理由は
IDEでシンボル検索した時に引っかかるようにしたかったから、とかも考えられるけど、
まあ多分単純に書いた人がアホなだけだろうw

仮にそうう理由があるとしてもfalseなんてリテラルをそのまま書くのは意味が分からん

74 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:05:59.65 ID:V+fiNkQ50.net]
Java屋に呪いをかけられた。

75 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:10:57.43 ID:Nij9ynML0.net]
>>72
カンマ区切りの文字列にでもするとか

76 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:48:11.14 ID:6fhPxX7E0.net]
json.netで文字列にして保存とか・・・そこまでやるならってのはナシで

77 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 17:58:14.17 ID:Y/pxrYXGM.net]
>>71
バカの逆ギレかよ
念の為に言っておくけど元々>>47程度の要件では派生クラスからCを呼ぶなんて必要ないってことな
まあ君には一生理解できないかもしれないけどw

78 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 18:18:20.39 ID:8nYO+EkJd.net]
質問した人はもはや興味なくなってそう

79 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:16:25.09 ID:BNgoH63S0.net]
>>75
レスサンクス
カンマで区切って、文字列を数値にして
今それっぽい事をやってみたんですが、なにやら挙動があやしい

>>76
れすさんくす
やはり文字列になってしまうのでしょか、int[]あれば便利なのに

80 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:54:41.57 ID:V+fiNkQ50.net]
splitで配列化出来るでしょ?



81 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:57:20.55 ID:Nij9ynML0.net]
挙動が怪しいって言われてもコメントしようがない

82 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:59:39.92 ID:NbTMQOfEr.net]
カンマが全角半角交じりなのかもね

83 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:21:50.98 ID:BNgoH63S0.net]
>>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());
}
こんなんです、これは捨てます

84 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:36:41.64 ID:w9BsPIYw0.net]
string.Join(",", array)で保存
array=text.Split(",").ToArray()で復元
スマホで書いたからミスってたらごめん

85 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:37:39.82 ID:NJkU4MQ7a.net]
>>49
非光沢液晶のパソコンでプログラミングすることをすすめます。

86 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:48:12.25 ID:BNgoH63S0.net]
>>84
さんくすです
それは答えですね、やってみます

87 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:11:40.42 ID:LwZAFcHp0.net]
これと違うの?
dobon.net/vb/dotnet/programing/mysettings.html#section5

88 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:37:31.10 ID:LwZAFcHp0.net]
>>47
本来クラスA2に置くべきメソッドB2を
循環参照になってしまうからという理由で別クラスに作るというアプローチに問題がある

89 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 21:55:04.78 ID:Obz6LqVu0.net]
不要な循環参照は避けるに越したことはないが
絶対に回避しないといけないものではないしな
設計的に妥当かどうか

90 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 22:06:26.29 ID:BNgoH63S0.net]
>>87
さんくすです
型を増やすのは難しそうで、ちょっと敬遠してたのですが
いちどやってみます



91 名前:36 mailto:sage [2019/10/11(金) 22:30:13.36 ID:SS1U2hzP0.net]
遅くなりましたがありがとうございました。とりあえずprivateでやってみようと思います。
しかし恥ずかしながらローカル関数って初めて知りました……こんなんあったのか

92 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 23:40:49.38 ID:AHeGNijQM.net]
なんとローカルクラスもあったりするぞ

93 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 03:22:40.33 ID:wdaAvj3T0.net]
ローカルクラスとか初めて聞いたんだが
Javaか何かと間違えてないか?

94 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 03:39:46.40 ID:GmlLfjiE0.net]
内部クラスつまりクラス内クラスのことかもな

ローカルクラスとは言わないけどな

95 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 08:19:37.23 ID:2OGp7+/U0.net]
匿名クラスのことだろ
LinQの関数の戻りとかでたまに使う

96 名前: mailto:sage [2019/10/12(Sat) 08:24:48 ID:2OGp7+/U0.net]
var hoge = new { Name = "Masashi", Hage = true };
こんな感じで宣言出來ると思う

97 名前: mailto:sage [2019/10/12(Sat) 11:24:29 ID:tnbTUN6u0.net]
class hoge {
  class fuga {}
  class moge {}
}

こういうやつ
呼び方は知らん

98 名前: mailto:sage [2019/10/12(Sat) 11:25:43 ID:V3SUioeZ0.net]
ローカルクラスwww

99 名前:デフォルトの名無しさん mailto:sage [2019/10/12(土) 11:45:16.39 ID:vesGJIfT0.net]
Java 用語だったのか。 < ローカルクラス
クラス内だけじゃなくてメソッド内でも作れるみたいだけど。
匿名クラスは無名クラスだと思ってた自分。


この流れでしょうもないことを聞いてみる。

static なメンバ変数の修飾子というか、
static でないメンバ変数の this.[変数名] の this に当たるようなのってなにかないですか。
[クラス名].[変数名] で ok なのだけど、[クラス名] の部分を固定でやる方法ないかなと。

100 名前: mailto:sage [2019/10/12(Sat) 11:59:16 ID:XFT6PVwJ0.net]
>>99
エイリアスとかこういう話?
using ディレクティブ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive



101 名前: mailto:sage [2019/10/12(Sat) 13:15:47 ID:4Z7PGm8S0.net]
>>100
横からだけど初めて知った
サンクス

102 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 08:38:04.22 ID:LP1yPe2h0.net]
for(int i = 0; DataGridView1.Columns.Count > i; i++)
{
  DataGridView1.Columns[i].MinimumWidth = 20;
}
これってもっと簡単に書けませんか?

103 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 08:43:29.30 ID:vtlUUDcx0.net]
重複するコードを削っていくのがコツ

104 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 08:45:05.27 ID:vtlUUDcx0.net]
コード変えていいならLINQとかもあり

105 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 09:09:50.77 ID:d8Y4MxQw0.net]
全回しするときは基本的にforeachを使う
ただlinqのforeachを使ってよいのかはよくわからん。パフォーマンス悪いと聞くし

106 名前: mailto:sage [2019/10/13(Sun) 09:18:59 ID:MGaULTRj0.net]
LinqにForEachはない
あれはリストのメソッドだよ

107 名前: mailto:sage [2019/10/13(Sun) 09:22:18 ID:LP1yPe2h0.net]
>>103>>104
さんくすです、LINQってことはSelectをつかうんでしょうか
>>105
さんくすです、パフォーマンスは落ちてもかまわないんで
最初foreachで書こうと思ったんですが、わからなく

108 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 09:33:52.48 ID:f3TGJJSYa.net]
ん?
for (var c in DataGridView1.Columns) { c.MinimumWidth=20; }
よりも短く描きたいってこと?

109 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 09:47:34.60 ID:OAJhlsQO0.net]
そんなんどうでもいいから動くモノ作れよ初心者

110 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:07:58.19 ID:LP1yPe2h0.net]
>>108
さんくす、面白い書き方ですね、ただMimimumWidthが出てきませんでした
少し変えればよさそうだけど、どこをどうかえれば



111 名前: mailto:sage [2019/10/13(Sun) 11:40:17 ID:OktAHnGcM.net]
>>108
foreach

112 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:45:00.17 ID:MGaULTRj0.net]
>>110
var をDataGridColumn に変えれば出る

113 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:55:56.33 ID:f3TGJJSYa.net]
えーそんなわけないでしょと思って確認したら
ColumnsのDataGridViewColumnCollectionは非ジェネリクスのIListしか実装してないのか・・・
DataGridViewってVS2005以前の書き方で実装されてるのね

となると、かっこ悪いけどキャストをかませて
for (var c in DataGridView1.Columns) { (c as DataGridViewColumn).MinimumWidth=20; }
と書くくらいしかないか、>>103のとおりDataGridView.Columnsを変数にするくらいしかなさそう

114 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 11:57:39.01 ID:f3TGJJSYa.net]
あ、forじゃなくてforeachか
ちゃんとIDEなりVSCodeなり立ち上げて書かなきゃだめね、失礼

115 名前:デフォルトの名無しさん [2019/10/13(日) 12:28:10.86 ID:Fykc0AcJ0.net]
抽象クラスとインターフェースの使い分けのコツを具体例で教えて下さい!

116 名前: mailto:sage [2019/10/13(Sun) 12:37:21 ID:mgqzqij/M.net]
昔の人は言いました「習うより慣れろ」

117 名前: mailto:sage [2019/10/13(Sun) 12:37:30 ID:f2RSEbKl0.net]
そんなんどうでもいいから動くモノ作れよ初心者

118 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 12:43:25.13 ID:2Iz5cpana.net]
>>116
使い分ける必要はない
常にインターフェイスを使う、でいいよ
抽象クラスはインターフェイスを使った上で、どうしても実装の大部分が重複してしまうような場合に稀に使うことがある、という程度のもの
全く使わなくても問題はない

119 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 12:58:41.62 ID:BB7naElC0.net]
>>100
所属クラスを示す汎用のエイリアスのようなものがないかなーと。
でも using static ディレクティブ自体を知らなかったので勉強になりました。これを定義すれば結果として同じ事出来るし。

ありがとう。

120 名前:デフォルトの名無しさん mailto:sage [2019/10/13(日) 13:02:36.16 ID:mgqzqij/M.net]
昔の人は言いました「100人のプログラマーがいたら100通りのオブジェクト指向がある」



121 名前: mailto:sage [2019/10/13(Sun) 13:29:52 ID:LP1yPe2h0.net]
>>112
さんくすです出ました
foreach(DataGridViewColumn c in DataGridView1.Columns) { c.MinimumWidth = 20; }

>>113
さんくすですキャストのほうでもいけました

122 名前: mailto:sage [2019/10/13(Sun) 14:00:31 ID:2cfG7zlA0.net]
8からデフォルト実装も入るからますます使いどころが

123 名前: mailto:sage [2019/10/13(Sun) 18:12:47 ID:0yCAsIX/0.net]
WinFormsで、フォーカスが当たってない時でもキー入力を取る方法ってありますか?

124 名前: mailto:sage [2019/10/13(Sun) 18:19:19 ID:jypX7pQ50.net]
>>123
https://qiita.com/sawasaka/items/b3d5285b4198c0e46628

125 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 07:52:01.52 ID:AMNrrJ6ya.net]
>>123
key入力をグローバルHook

126 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:19:35.89 ID:m0jqn6iGp.net]
アプリ自体にフォーカス当たって無くてもいいの?

127 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:24:15.06 ID:pr9WFxZa0.net]
イインダヨ

128 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:28:33.47 ID:m0jqn6iGp.net]
ああ、パスワードスキミングするならむしろそうじゃないと都合悪いかw

129 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 11:50:04.39 ID:+5Q+C2RJM.net]
必死でない頭絞って
やっと浮かんだ用途がそれなのか?
残念な人だこと…

130 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:23:13.71 ID:fSd1Dwex0.net]
この手の質問に対する定番の回答やぞ



131 名前: mailto:sage [2019/10/15(Tue) 20:41:28 ID:5pSAXFzm0.net]
1ヶ月位VBAを触って今日Visual Studio Express 2017をインストールしました
せっかくならVBAの癖が着く前に…と思ったのですが、VBAで書いたプログラムに互換性は無いでしょうか?

132 名前:デフォルトの名無しさん [2019/10/15(火) 20:52:55.04 ID:Hz78fwHza.net]
>>131
ここ、C#のスレだよw
VBAは20年前に死亡宣告されたVB6の親戚。
今のVisual Studioに入ってるVisual Basicとは似てるけど別物。
もちろんC#とは似ても似つかない

133 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 20:54:38.84 ID:E2P2T6Cd0.net]
>>131
VBAとC#/VB.NETは別物

あとなんでVS2017のExpressをインストールしたのさ
わざわざ機能制限版のExpressを使うとかマゾプレイヤーかな?

134 名前: mailto:sage [2019/10/15(Tue) 21:03:51 ID:5pSAXFzm0.net]
>>132
1から勉強しなおしになるでしょうか?
Visual StudioでもC#を使えると思っていました

>>133
社内のライセンスとセキュリティの関係でExpressしかダメと言われてしまいました

135 名前: mailto:sage [2019/10/15(Tue) 21:13:12 ID:E/67JFVJ0.net]
SharpDevelop入れて、C#→vbかな

136 名前: mailto:sage [2019/10/15(Tue) 21:15:31 ID:n+UvEGVJ0.net]
>>134
質問の内容が変わっているよね
VBAで作ったものはVB.Netに手直し程度で動かせるようになるものができる場合もあるけどC#は書き方も完全に別物
ここで聞くより自分のPCで動かしてみたほうが早い

137 名前: mailto:sage [2019/10/15(Tue) 21:15:48 ID:h8W4Pu510.net]
>>135
そこはVisual Studio Codeやろ…

138 名前:デフォルトの名無しさん (アウアウウー Sa5b-YqqQ) [2019/10/15(Tue) 21:16:06 ID:Hz78fwHza.net]
>>134
C#を使えないなんて言ってないよw
VBAとC#は完全に別の言語だと言ってるだけ
VBAの知識はC#を覚える上でほとんど役に立たないよと

139 名前:デフォルトの名無しさん (ワッチョイ 972d-epSy) [2019/10/15(Tue) 21:20:18 ID:zMbku3w90.net]
用語と名付けルールについていくつか教えてください
まず、class Asdf{}の入れた物(Asdf asdf; でいうasdf)は、何と呼べばいいんですか?変数でいいのでしょうか?
また、Asdfの入ったものを自動プロパティで宣言したい場合、一文字めを大文字にすべきなのでしょうか?
Asdf Asdf{get; set;}なのか、Asdf asdf{get; set;}なのかどちらが正しいのでしょうか

140 名前: mailto:sage [2019/10/15(Tue) 21:23:27 ID:NTOFWHv0a.net]
>>139
Asdf asdf; のasdfは変数名でいい
プロパティ名はCamelCase(先頭大文字)にするのが慣習、自動実装プロパティかどうかは無関係



141 名前: mailto:sage [2019/10/15(Tue) 21:25:58 ID:5pSAXFzm0.net]
>>136
失礼しました
まずは色々と触ってみます

>>138
早とちりしてしまいました
基本から勉強してみます

ありがとうございます

142 名前:デフォルトの名無しさん (ワッチョイ 972d-epSy) [2019/10/15(Tue) 22:44:41 ID:zMbku3w90.net]
>>140
ありがとうございます
大文字かどうかは、クラス名とプロパティ名が一緒になってしまっていいのか結構疑問に思っていたのでスッキリしました

143 名前:デフォルトの名無しさん [2019/10/17(木) 01:03:06.25 ID:GTpPRCCe0.net]
Pythonでは文字列をコマンドとして実行するのにevalとexecの2つあるみたいですが
C#で文字列をコマンドとして実行するには、eval以外の関数はありますか?

144 名前: mailto:sage [2019/10/17(Thu) 01:25:51 ID:lbhPCdA40.net]
あるよ

145 名前:デフォルトの名無しさん (ワイーワ2 FF6a-uHRg) [2019/10/17(Thu) 09:37:45 ID:ewN8FeZ7F.net]
subprocess.popen
subprocess.call
subprocess.call_hogehoge
もっとあるぞ

146 名前:デフォルトの名無しさん (ワッチョイ 5fda-+VEO) [2019/10/17(Thu) 11:49:09 ID:qkwcuRdz0.net]
フォーム間でのデータの受け渡しを行うクールな方法を教えて下さい。
今は以下の2通りの方法ででやっています。
?互いの公開プロパティ(public get / private set)を参照しあう。
 (互いに相手フォームへの参照を通じて取得するので疎結合になり切れていない)
?データ保持用クラスを作って、そのインスタンスを参照する。
 (データ保持用クラスが増えまくって、だんだん管理困難になりそう)

147 名前: mailto:sage [2019/10/17(Thu) 12:12:42 ID:lbhPCdA40.net]
MQで結合

148 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 12:32:44.65 ID:tq7j3RVK0.net]
MVCのM

149 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 12:38:06.93 ID:p0JdpBwB0.net]
WpfやUWPなどではDIコンテナってものを使うのが流行りだが、WindowsFormsでも存在するそうだ
こっちは使ったことがないからお薦めはわからんがググって探してみるといい

まあクールってことならWindowsForms捨てるのも一つだね

150 名前: mailto:sage [2019/10/17(Thu) 13:00:04 ID:gr44XWYWM.net]
>>146
DB



151 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 13:34:04.59 ID:gr44XWYWM.net]
>>149
WPFやUWP自体がほぼ全くと言っていいほど使われていないのに流行りも何も
DIコンテナは主にWebで利用されるもので、デスクトップアプリではあまり使われないよ
アプリの起動を遅くする原因になりやすいし、エンドユーザーにバイナリを直接配布するタイプのアプリではそもそも実装を差し替えたいというニーズ自体が稀だからね

152 名前: mailto:sage [2019/10/17(Thu) 15:08:30 ID:LDYcAoDdM.net]
DIコンテナはこの場合関係ないのでは?
結局素直に?でやるのがいいと思う






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<74KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef