「どんなにくだらない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:FbKpa1HN0234デフォルトの名無しさん (アウアウカー Sa69-Xwku)
2018/02/08(木) 21:07:27.62ID:iBuunKtKa Is〜もやれやれってため息つくよな
235デフォルトの名無しさん (ワッチョイ c9ed-8zR7)
2018/02/08(木) 21:21:20.99ID:915zsRTA0 >>226
ごめんね
ごめんね
236デフォルトの名無しさん (ドコグロ MM62-/0XS)
2018/02/09(金) 06:50:10.99ID:Oqb9O2xfM237デフォルトの名無しさん (ワンミングク MM92-O/nr)
2018/02/09(金) 07:59:47.67ID:P5bFhw7XM238デフォルトの名無しさん (ワッチョイ e2c3-8zR7)
2018/02/09(金) 08:08:26.68ID:XPAWz2Uc0 わたしのことでけんかしないで
( ;∀;)
( ;∀;)
239デフォルトの名無しさん (スップ Sdc2-gWXE)
2018/02/09(金) 09:40:28.56ID:/RflGba8d >>226
trueとfalseを=で書く、falseだけ=で書く、falseだけ!で書く
どれでもいいけど!を使いたくないって話はよく聞くな
falseを=で書くならtrueも同じ様に書いた方が見やすいかもね
trueとfalseを=で書く、falseだけ=で書く、falseだけ!で書く
どれでもいいけど!を使いたくないって話はよく聞くな
falseを=で書くならtrueも同じ様に書いた方が見やすいかもね
240デフォルトの名無しさん (ワッチョイ 41ea-g12m)
2018/02/09(金) 09:46:12.82ID:XMMaiogJ0 VS2013からVS2017で、
C#のWinForm的には何か大きく変わりましたか?
WPFやUWPやXamarinは使わないです
C#のWinForm的には何か大きく変わりましたか?
WPFやUWPやXamarinは使わないです
241デフォルトの名無しさん (アウアウウー Saa5-nHV3)
2018/02/09(金) 11:00:06.20ID:fIXFpK3Ia if(a==true) if(a==false) ははっきり言ってダメなやり方
たとえば b!=’1’の結果としてaがあった場合
aには充分な論理的結果が入っているのに
それを比較してる
つまり
if(b != '1')
bが'1'でないならを
if((b !=' 1') == true)
bが’1'でないが真なら としてる
無駄に条件比較の次元が増えてる
たとえば b!=’1’の結果としてaがあった場合
aには充分な論理的結果が入っているのに
それを比較してる
つまり
if(b != '1')
bが'1'でないならを
if((b !=' 1') == true)
bが’1'でないが真なら としてる
無駄に条件比較の次元が増えてる
242デフォルトの名無しさん (ワッチョイ e2c3-8zR7)
2018/02/09(金) 11:18:11.85ID:XPAWz2Uc0 ってことよ。
言語仕様で保証されてるから
ってもうええやろ
言語仕様で保証されてるから
ってもうええやろ
243デフォルトの名無しさん (ブーイモ MM62-sLQd)
2018/02/09(金) 12:40:19.33ID:Un6XU7IsM >>240
はるか昔に開発終わってるから何も変わってないよ
今のVSでアグレッシブに開発進んでるのってプラットフォームでいえばWeb関係でCoreとかAzure、
VS自体の機能でいえばチームコラボレーション系がメイン
もはや昔ながらのクライアントアプリ開発者には何の恩恵もない代物
はるか昔に開発終わってるから何も変わってないよ
今のVSでアグレッシブに開発進んでるのってプラットフォームでいえばWeb関係でCoreとかAzure、
VS自体の機能でいえばチームコラボレーション系がメイン
もはや昔ながらのクライアントアプリ開発者には何の恩恵もない代物
244デフォルトの名無しさん (ブーイモ MM62-sLQd)
2018/02/09(金) 12:55:39.76ID:Un6XU7IsM あと、日々のマイナーアップデートで平気でC#の言語のバージョンが上がるという、昔のMSからするとありえないことをやってる
プロダクトを自己責任で軽いノリでリリースできるような事業形態の組織なら、
ある日突然新しい構文が使えるようになったりして楽しいからVS2017に移行する価値はあるよw
プロダクトを自己責任で軽いノリでリリースできるような事業形態の組織なら、
ある日突然新しい構文が使えるようになったりして楽しいからVS2017に移行する価値はあるよw
245デフォルトの名無しさん (アウアウエー Sa4a-W6/A)
2018/02/09(金) 13:29:03.11ID:HaVaZvGAa246デフォルトの名無しさん (ドコグロ MM0a-60VJ)
2018/02/09(金) 13:36:54.05ID:oYoiHq1LM 最近コードの自動生成をよくする
falseのときは書いて
trueのときは書かないとかやってねぇからtrue==は出る
同じノリだろ
falseのときは書いて
trueのときは書かないとかやってねぇからtrue==は出る
同じノリだろ
247デフォルトの名無しさん (ワッチョイ 41ea-g12m)
2018/02/09(金) 13:59:22.67ID:XMMaiogJ0248デフォルトの名無しさん (ワッチョイ c206-jA6l)
2018/02/09(金) 14:30:07.84ID:h6aWYpFC0 bool?使うとtrue==は書かざるをえないんだよね。使いみちは限られるがUWPのx:Bindでbool?使わざるを得なかったりする
249デフォルトの名無しさん (ブーイモ MM85-sLQd)
2018/02/09(金) 15:38:49.43ID:BbZWe4RQM >>248
bool? は if (x ?? false) の方がスマート
bool? は if (x ?? false) の方がスマート
250デフォルトの名無しさん (ワントンキン MM92-O/nr)
2018/02/09(金) 18:08:05.87ID:boHsluDEM251デフォルトの名無しさん (スップ Sdc2-QOWv)
2018/02/09(金) 18:19:12.75ID:b+4e2jxgd サラリーマンプログラマらしいレスなのねん。
252デフォルトの名無しさん (スププ Sd62-8zR7)
2018/02/09(金) 20:20:41.17ID:TwVCAmtId サンデープログラマ
253デフォルトの名無しさん (ワッチョイ ed81-Frkp)
2018/02/09(金) 20:39:08.80ID:EQhMg6az0 戦うサンデープログラマーっていうポッドキャストがあってだな
254デフォルトの名無しさん (ワッチョイ c223-g12m)
2018/02/09(金) 21:56:26.91ID:I0pHcAAD0 単純にa==trueって書くときa=trueっていうミスしたときに発見難しいけど
true==aって書くようにしてたらtrue=aってミスしてもコンパイル通らないから見つけやすいよねってだけじゃないの?
昔客先常駐でIT土方してた先輩はそう言ってた
true==aって書くようにしてたらtrue=aってミスしてもコンパイル通らないから見つけやすいよねってだけじゃないの?
昔客先常駐でIT土方してた先輩はそう言ってた
255恥人
2018/02/09(金) 21:57:48.11 アスペかよ
256デフォルトの名無しさん (ワッチョイ 2ec9-jA6l)
2018/02/09(金) 22:22:38.32ID:lhoyckc/0 >>254
今のIDE使っている人達にしてみたら何を言ってるのかわからん言葉だなw
今のIDE使っている人達にしてみたら何を言ってるのかわからん言葉だなw
257デフォルトの名無しさん (ワッチョイ 2e81-OL3A)
2018/02/09(金) 23:44:22.11ID:Duwvp4uk0 土方の話はいいよ
穴掘って叫んでて
穴掘って叫んでて
258デフォルトの名無しさん (ワッチョイ 62e0-jA6l)
2018/02/10(土) 05:04:14.37ID:aLYixKao0 日経ソフトウェア買ったよ!
259デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 08:55:01.53ID:agf4hW9w0 List<int> idata =new List<int> (){1,2,3,4,5,6};
foreach (var dt in idata)
{
dt = 0;
}
dt=0が代入できない。 idata[0]=0;は代入できる。これはどう考えたらいいんだ?
foreach (var dt in idata)
{
dt = 0;
}
dt=0が代入できない。 idata[0]=0;は代入できる。これはどう考えたらいいんだ?
260デフォルトの名無しさん (ワッチョイ 2ec9-jA6l)
2018/02/10(土) 10:13:31.02ID:L0Z1niMi0 >>259
foreachで取ってきた要素はIEnumerator.Currentなので読み取り専用になる
foreachで取ってきた要素はIEnumerator.Currentなので読み取り専用になる
261デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 10:58:14.53ID:agf4hW9w0 しかしLinqのForeachならセットできる。
262デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:06:54.61ID:h94azKRjM できたとしてもそもそもdtは値のコピーなのでセットできてもListの値は書き変わらない
263デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 11:08:07.90ID:agf4hW9w0 List<Label> lbl = new List<Label>() { new Label(), new Label ()};
lbl.Add (new Label() );
foreach(var l in lbl) {
l.Text = "aaaa";
}
これはできるけど。
lbl.Add (new Label() );
foreach(var l in lbl) {
l.Text = "aaaa";
}
これはできるけど。
264デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 11:14:08.02ID:agf4hW9w0 List<clsint> idata = new List<clsint>();
foreach (var i in idata)
{
i.val = 123;
} class clsint{ public int val;}
これもできるけど。
foreach (var i in idata)
{
i.val = 123;
} class clsint{ public int val;}
これもできるけど。
265デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:15:02.53ID:h94azKRjM dtが値型でも参照型でもコピー
参照型はアドレスがコピーされてるので
参照先のオブジェクトの書き換えが有効
値型は値自身がコピーされているので元の値に影響しない
参照型はアドレスがコピーされてるので
参照先のオブジェクトの書き換えが有効
値型は値自身がコピーされているので元の値に影響しない
266デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:15:51.97ID:h94azKRjM これは初心者が勉強したら理解できる内容なので
勉強しなさい
勉強しなさい
267デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:18:07.39ID:h94azKRjM 初心者脱出がレベル20だとしたら今のforeachの件はレベル5ぐらい
268デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:19:27.25ID:h94azKRjM ちゃんとした入門書をちゃんと読んで学習したらレベル10ぐらいは行く
269デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:22:26.94ID:h94azKRjM 残念だね
ちゃんと本でも読んでコードを書いてたらレベル10に到達するのに
勉強してるつもりになってふらふらしてるからレベル5
ちゃんと本でも読んでコードを書いてたらレベル10に到達するのに
勉強してるつもりになってふらふらしてるからレベル5
270デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 11:42:19.85ID:agf4hW9w0 >foreachで取ってきた要素はIEnumerator.Currentなので読み取り専用になる
参照型もIenumerator.Currentなのか?
なぜ読み取り専用でもライトできるのか?
参照型もIenumerator.Currentなのか?
なぜ読み取り専用でもライトできるのか?
271デフォルトの名無しさん (ワッチョイ 2e81-OL3A)
2018/02/10(土) 11:47:11.44ID:oEqOo86Y0 読み取り専用はフィールドまで伝播しませんので
272デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:49:38.24ID:h94azKRjM ここでクダ巻いてないで勉強したらいいのに
自分より出来る人に突っかかってもいいことないのに
自分より出来る人に突っかかってもいいことないのに
273デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 11:53:29.42ID:agf4hW9w0 >>271
なるほど!!
なるほど!!
274デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 11:54:13.36ID:h94azKRjM メソッド内の変数書き換えとかも理解してなさそう
276デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 12:14:30.61ID:h94azKRjM277デフォルトの名無しさん (ワッチョイ 3151-xK0a)
2018/02/10(土) 12:29:08.56ID:PglyRkoG0 読み取り専用の参照型の変数は参照は書き換えられないが、その参照を得ればそれが指し示す実体を読み書きできる
278デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 12:35:19.58ID:h94azKRjM Listは中に追加された値を保存してる
intとかの値型はその値自身を持ってる
クラスとかの参照型は対象になるクラスへの参照が入ってる
そのListの中にある参照先自体は変わってない
>>273
残念だけどその内容になるほどというとドツボにはまる
classじゃなくてstructにするとフィールドまで書き換えできないと気づく
フィールドに波及しないと言うのは誤った理解
intとかの値型はその値自身を持ってる
クラスとかの参照型は対象になるクラスへの参照が入ってる
そのListの中にある参照先自体は変わってない
>>273
残念だけどその内容になるほどというとドツボにはまる
classじゃなくてstructにするとフィールドまで書き換えできないと気づく
フィールドに波及しないと言うのは誤った理解
279デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 12:41:02.28ID:h94azKRjM こんなところで怪しい回答に頼るより
しっかりした実績のある入門書に頼ったほうがいいよ
マジで
誰だってその時々で間違うし
本の時代は終わったなんていう奴がいるけど
webだけじゃ網羅的に勉強しづらい
しっかりした実績のある入門書に頼ったほうがいいよ
マジで
誰だってその時々で間違うし
本の時代は終わったなんていう奴がいるけど
webだけじゃ網羅的に勉強しづらい
280デフォルトの名無しさん (ワッチョイ 317e-OL3A)
2018/02/10(土) 12:41:58.21ID:7Yj567YX0 いいじゃん誤った理解で
馬鹿は痛い目みないと治らないから
ぜひ痛い目みて貰おうぜ
馬鹿は痛い目みないと治らないから
ぜひ痛い目みて貰おうぜ
281デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:07:19.11ID:agf4hW9w0 foreach (var dt in idata)
{
dt = dt < min ? min : max < dt ? max : dt;
}
みたいなことができない。これはよくあるケースなので不便。
{
dt = dt < min ? min : max < dt ? max : dt;
}
みたいなことができない。これはよくあるケースなので不便。
282デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:11:16.15ID:agf4hW9w0 >しっかりした実績のある入門書に頼ったほうがいいよ
最近2冊ほど読んだけど、細かいところはやってみないとわからないよ。読んだだけでは無理。
なれが必要だ。で慣れるためにコードを書く。しかしサッパリ動かない。w
最近2冊ほど読んだけど、細かいところはやってみないとわからないよ。読んだだけでは無理。
なれが必要だ。で慣れるためにコードを書く。しかしサッパリ動かない。w
283デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:15:58.33ID:agf4hW9w0 //パラメータをシングルトンで持たせたいのだが、Jsonで格納しようとするとstaticにできない。なので
referenceを返したいのだが、何かいい方法はない?
class Singleton
{
private Singleton(){}
public static Singleton getInstace() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
public static Singleton INSTANCE = new Singleton();
}
}
たとえば教科書にあるシングルトン。これに
class clsGrovalParam
{
public int value1;
public int value2;
public int value3;
}
public clsGrovalParam Param;
とやってParamを追加していたが、なんか動作がおかしい。W
と思ったらPublicにしていたので直接Paramを生成していてシングルトンになってなかった。
.Param
こいつをStaticにできればいいのだが、Jsonで格納するときにスタティックにすると格納できない。
referenceを返したいのだが、何かいい方法はない?
class Singleton
{
private Singleton(){}
public static Singleton getInstace() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
public static Singleton INSTANCE = new Singleton();
}
}
たとえば教科書にあるシングルトン。これに
class clsGrovalParam
{
public int value1;
public int value2;
public int value3;
}
public clsGrovalParam Param;
とやってParamを追加していたが、なんか動作がおかしい。W
と思ったらPublicにしていたので直接Paramを生成していてシングルトンになってなかった。
.Param
こいつをStaticにできればいいのだが、Jsonで格納するときにスタティックにすると格納できない。
284デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 13:27:26.20ID:h94azKRjM また伝わらない書き方だなあ
Jsonとはなんなのか?stringなのか?typeだとしてどのJsonなのか?
Jsonとはなんなのか?stringなのか?typeだとしてどのJsonなのか?
285デフォルトの名無しさん (ブーイモ MMb6-sLQd)
2018/02/10(土) 13:30:10.75ID:S1subAI+M286デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 13:32:00.29ID:h94azKRjM 参照型と値型を区別できないと普通に困るよ
そのたびにここで質問するの?
俺はc#の仕様が面白かったので入門書みたいのを10回以上読んだ
delegateとかeventとか他にはなかったから刺激的だった
そのたびにここで質問するの?
俺はc#の仕様が面白かったので入門書みたいのを10回以上読んだ
delegateとかeventとか他にはなかったから刺激的だった
287デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:37:02.28ID:agf4hW9w0 >シングルトンも忘れていい
グローバル変数を散らばらせるとなかなか大変になるので、ここは最初に抑えること。
別にシングルトンでなくてもいいが、、スタチックはJson.netに保存できないので仕方なしに
調べていたらシングルトン。ほんまにトンだよな。たったこれだけのことに頭を
悩ませないといかんとは。
グローバル変数を散らばらせるとなかなか大変になるので、ここは最初に抑えること。
別にシングルトンでなくてもいいが、、スタチックはJson.netに保存できないので仕方なしに
調べていたらシングルトン。ほんまにトンだよな。たったこれだけのことに頭を
悩ませないといかんとは。
288デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 13:38:27.41ID:h94azKRjM289デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:40:22.73ID:agf4hW9w0 >参照型と値型を区別できないと普通に困るよ そのたびにここで質問するの?
いままさにこれに困っている。そこでプロパティにしたらどうなの?って実験してみようと思っている。
private clsGrovalParam _Param = new clsGrovalParam() {value1 = 1};
public clsGrovalParam Param
{
get { return _Param; }
set { Param =_Param ;}
}
いままさにこれに困っている。そこでプロパティにしたらどうなの?って実験してみようと思っている。
private clsGrovalParam _Param = new clsGrovalParam() {value1 = 1};
public clsGrovalParam Param
{
get { return _Param; }
set { Param =_Param ;}
}
290デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:41:47.03ID:agf4hW9w0 >>288
最初はそうでしょ。だれでも
最初はそうでしょ。だれでも
291デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 13:43:20.18ID:h94azKRjM292デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 13:48:03.17ID:h94azKRjM 5を3回足すとか3を5回たすとか考えたり
5X3を覚えるとかがない
1から数え上げていって9当たりで疲れて質問に来る
5X3を覚えるとかがない
1から数え上げていって9当たりで疲れて質問に来る
293デフォルトの名無しさん (ワッチョイ e5cc-kudU)
2018/02/10(土) 13:48:40.57ID:STtvgiYf0 算数スレ
294デフォルトの名無しさん (アウアウウー Saa5-sLQd)
2018/02/10(土) 13:53:43.90ID:2bX56Vysa >>287
>グローバル変数を散らばらせるとなかなか大変になるので、ここは最初に抑えること
それはそもそもグローバル変数が多いこと自体が問題。
まともな設計が身に着けば自然に減る。
シングルトンは基本的にアンチパターンであり、初心者が積極的に使うものではない。
>グローバル変数を散らばらせるとなかなか大変になるので、ここは最初に抑えること
それはそもそもグローバル変数が多いこと自体が問題。
まともな設計が身に着けば自然に減る。
シングルトンは基本的にアンチパターンであり、初心者が積極的に使うものではない。
295デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 13:55:47.90ID:agf4hW9w0 >291
だめだよ。そういう覚え方は。最初は足と手の指を使って15までカウントする。
だめだよ。そういう覚え方は。最初は足と手の指を使って15までカウントする。
296294 (アウアウウー Saa5-sLQd)
2018/02/10(土) 13:56:15.28ID:2bX56Vysa 初心者には紛らわしい物言いだったので補足
シングルトンはメンバも含めて実質すべてグローバル変数な
シングルトンはメンバも含めて実質すべてグローバル変数な
297デフォルトの名無しさん (ワッチョイ 3102-OL3A)
2018/02/10(土) 14:03:56.78ID:8juYsZ8V0 休みの昼間っから真っ赤にしてる奴にろくなのはいない
298デフォルトの名無しさん (アウアウウー Saa5-nHV3)
2018/02/10(土) 14:04:44.96ID:oqzsam8ba やりたいことと実力のレベルに差があって
ちぐはぐしてるのは間違いない
例え15まで数えて正解しても次にはつながらないので
仕組みを理解してからのほうが良いのでは?
ちぐはぐしてるのは間違いない
例え15まで数えて正解しても次にはつながらないので
仕組みを理解してからのほうが良いのでは?
299デフォルトの名無しさん (アウアウウー Saa5-nHV3)
2018/02/10(土) 14:07:05.88ID:oqzsam8ba 仕組みが理解できない場合いくら手を動かしても得られるものはないんでは?
300デフォルトの名無しさん (ブーイモ MM6d-nHV3)
2018/02/10(土) 14:09:29.78ID:h94azKRjM >>295
頑張ってpiの再発見でもしたらいい
頑張ってpiの再発見でもしたらいい
301デフォルトの名無しさん (ワッチョイ c2d2-TO1f)
2018/02/10(土) 14:11:45.16ID:HkD8Ulqu0 初心者はなんでも場当たり的に解決しようとするが、これは意識しないと気が付かない悪い癖
302デフォルトの名無しさん (アウアウウー Saa5-nHV3)
2018/02/10(土) 14:13:46.43ID:oqzsam8ba 仕組みを理解するために手を動かすのは正しい
仕組みを理解せずその場の答えを出すためにやみくもに手を動かすのは正しくない
仕組みを理解せずその場の答えを出すためにやみくもに手を動かすのは正しくない
303デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 14:16:21.43ID:agf4hW9w0 >295
細部はあまり関係ないと思う。
ベテランはそういう細部をきにするが、要するにシングルトンで何をしたいのか?
どう機能するものなのか?
それが大事なポイントじゃあるまいか。 名前の問題とか実装方法の問題じゃない。
別にシングルトンでなくてもいい。
ポイントはつまりアンチスパゲッティ。w
変数1,2、−−−100位は直ぐに散らばる。
これをまとめて一つにしておけば分かりやすい。まあ名前をまとめたところで参照は100か所に
なるから、どうしたって散らばるが、変更箇所は1か所にすることができる。それに括りの名前を付けて
おけばGrepできる。そういうメリットがある。ただそれだけのことだ。でもこれが大きい。
細部はあまり関係ないと思う。
ベテランはそういう細部をきにするが、要するにシングルトンで何をしたいのか?
どう機能するものなのか?
それが大事なポイントじゃあるまいか。 名前の問題とか実装方法の問題じゃない。
別にシングルトンでなくてもいい。
ポイントはつまりアンチスパゲッティ。w
変数1,2、−−−100位は直ぐに散らばる。
これをまとめて一つにしておけば分かりやすい。まあ名前をまとめたところで参照は100か所に
なるから、どうしたって散らばるが、変更箇所は1か所にすることができる。それに括りの名前を付けて
おけばGrepできる。そういうメリットがある。ただそれだけのことだ。でもこれが大きい。
304デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 14:20:22.95ID:agf4hW9w0 要するにインスタンスを一個しか持たないクラスにまとめたグローバル変数。
その割に実現がややこしい。w
その割に実現がややこしい。w
305デフォルトの名無しさん (ワッチョイ e5cc-kudU)
2018/02/10(土) 14:23:51.65ID:STtvgiYf0 この話いつまで続くの?
306デフォルトの名無しさん (ワッチョイ c2d2-dBQf)
2018/02/10(土) 14:50:46.07ID:xv5r03JM0 >>305
NG使えば一瞬で
NG使えば一瞬で
307デフォルトの名無しさん (ワッチョイ 4de3-60VJ)
2018/02/10(土) 15:34:01.81ID:WFVVWPNp0 設定データをシングルトンでって時点で何かがおかしい
308デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 16:43:32.86ID:agf4hW9w0 class Singleton
{
private Singleton(){}
public static Singleton getInstace() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
public static Singleton INSTANCE = new Singleton();
}
private clsGrovalParam _Param = new clsGrovalParam() {value1 = 1};
public clsGrovalParam Param
{
get { return _Param; }
set { Param =_Param ;}
}
}
class clsGrovalParam
{
public int value1;
public int value2;
public int value3;
}
このシングルトンは駄目だな。Getinstanceするたびに_Paramがnewされる。_Paramがシングルトンにならんだろ。w
ParamをStaticにしないでシングルトンを作るにはどうしたらいいんだ?
{
private Singleton(){}
public static Singleton getInstace() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
public static Singleton INSTANCE = new Singleton();
}
private clsGrovalParam _Param = new clsGrovalParam() {value1 = 1};
public clsGrovalParam Param
{
get { return _Param; }
set { Param =_Param ;}
}
}
class clsGrovalParam
{
public int value1;
public int value2;
public int value3;
}
このシングルトンは駄目だな。Getinstanceするたびに_Paramがnewされる。_Paramがシングルトンにならんだろ。w
ParamをStaticにしないでシングルトンを作るにはどうしたらいいんだ?
309デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 16:45:37.25ID:agf4hW9w0 >設定データをシングルトンでって時点で何かがおかしい
アプリで共通に使うパラメータはシングルトンにする。
のがいいと思うのですが、、、、w
アプリで共通に使うパラメータはシングルトンにする。
のがいいと思うのですが、、、、w
310デフォルトの名無しさん (ブーイモ MM62-sLQd)
2018/02/10(土) 16:52:28.02ID:eFhUfahpM >>309
単体テストが困難になるから避ける
大元のインスタンスはstaticでグローバルに共有してもいいけど、
そのグローバル変数に直接アクセスするのは最小限にしてコンストラクタなどで必要なものだけ受け取るようにするのが基本だよ
単体テストが困難になるから避ける
大元のインスタンスはstaticでグローバルに共有してもいいけど、
そのグローバル変数に直接アクセスするのは最小限にしてコンストラクタなどで必要なものだけ受け取るようにするのが基本だよ
311デフォルトの名無しさん (スッップ Sd62-dBQf)
2018/02/10(土) 16:55:21.75ID:wVMdjZ3id >>282
しっかりした入門書なら決して「読んだだけ」になることはない
しっかりした入門書なら決して「読んだだけ」になることはない
312デフォルトの名無しさん (アウアウエー Sa4a-W6/A)
2018/02/10(土) 17:05:43.20ID:nWm1Yfxva >>309
スレの流れを把握してないのでひょっとしたら話が噛み合ってないかもしれないけど、
そういうのは、例えばVSが吐き出すプロジェクトのスケルトンで言ったらProgramみたいな
クラスのstataicメンバーとして持てばいいだけの話で、むしろシングルトンで実装する必然性が分からない
スレの流れを把握してないのでひょっとしたら話が噛み合ってないかもしれないけど、
そういうのは、例えばVSが吐き出すプロジェクトのスケルトンで言ったらProgramみたいな
クラスのstataicメンバーとして持てばいいだけの話で、むしろシングルトンで実装する必然性が分からない
313デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:15:55.14ID:agf4hW9w0 Staticで持つとJson.Netが保存を拒否する。
314デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:17:35.19ID:agf4hW9w0 string json = JsonConvert.SerializeObject(Param);
こんなの。
こんなの。
315デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:18:43.93ID:agf4hW9w0 Staticでもってコピーすりゃいいだけか? そうだよな。w
316デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:24:59.76ID:agf4hW9w0 あれっ、保存できた。しかしスタディックにしても値が初期化されてしまう。
なんか別のインスタンスを作ってる。
なんか別のインスタンスを作ってる。
317デフォルトの名無しさん (アウアウエー Sa4a-W6/A)
2018/02/10(土) 17:34:00.54ID:nWm1Yfxva なんかstaticメンバーとstaticクラスの区別が付いてない予感...
318デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:43:18.71ID:agf4hW9w0 原因が分かった。
InitializeCompornent();がLoacalエリアをクリアしてる。
そんな馬鹿な。
Local変数でParamを宣言したときに
clsParam Param = clsParam.GetInstance ().Param ;
で値を代入してるのに。
コンストラクタのInitializeCompornent();がこのLoacalエリアをクリアしてる。そういうものか?
InitializeCompornent();がLoacalエリアをクリアしてる。
そんな馬鹿な。
Local変数でParamを宣言したときに
clsParam Param = clsParam.GetInstance ().Param ;
で値を代入してるのに。
コンストラクタのInitializeCompornent();がこのLoacalエリアをクリアしてる。そういうものか?
319デフォルトの名無しさん (ワッチョイ e5f2-jA6l)
2018/02/10(土) 17:47:47.83ID:14GiOIOi0 Localエリアって何だ?
320デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:52:03.67ID:agf4hW9w0 ごめん。ローカル変数。
321デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 17:54:10.49ID:agf4hW9w0 でもやっぱり違う。ローカルを宣言して同時にGetInstanceで設定したら、その値が
入っている。 OK
次にInitializeCompornent();を実行する。
その次にもう一度このローカル変数にGetInstance()で代入したらクリアされてる。
おかしい。w
入っている。 OK
次にInitializeCompornent();を実行する。
その次にもう一度このローカル変数にGetInstance()で代入したらクリアされてる。
おかしい。w
322デフォルトの名無しさん (ワッチョイ 2e9a-jA6l)
2018/02/10(土) 17:57:57.91ID:rd7v/Ruq0 このスレは勉強のために見ているけどID:agf4hW9w0は初心者に害悪でしかないな
323デフォルトの名無しさん (アウアウエー Sa4a-W6/A)
2018/02/10(土) 17:58:07.62ID:nWm1Yfxva あ、この人数日前からしょうもない質問したり逆ギレしたりしてるお人かなw
正義(笑)をかさに着て人を追い出すようなことを言うのは好きじゃないけど、
それでも実況みたいなレスは自分で専用スレ立ててやった方がいいんじゃないの?
正義(笑)をかさに着て人を追い出すようなことを言うのは好きじゃないけど、
それでも実況みたいなレスは自分で専用スレ立ててやった方がいいんじゃないの?
324デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 18:07:33.04ID:agf4hW9w0 Gofとか興味ないの? デザインパターンの大先生だよ。それが全然動かない。w
たいそうな本出してる割には、、、、、とちょっと不信感が沸いてる。
たいそうな本出してる割には、、、、、とちょっと不信感が沸いてる。
325デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 18:10:31.89ID:agf4hW9w0 思うにカッコつけた本でも具体例が提示できないとだめだな。
抽象的な説明はカッコいいが、具体的なサンプルで動かないとカッコばかりで駄目だな。
抽象的な説明はカッコいいが、具体的なサンプルで動かないとカッコばかりで駄目だな。
326デフォルトの名無しさん (ワッチョイ 9d17-jA6l)
2018/02/10(土) 18:18:38.37ID:zPhvoOhZ0 ここ2週間くらい変なのが住み着いているの最悪だろ
327恥人
2018/02/10(土) 18:19:18.91 言うほど気になるか?
328デフォルトの名無しさん (ワッチョイ 9d17-jA6l)
2018/02/10(土) 18:24:02.09ID:zPhvoOhZ0 そうだなお前も含めて気になるよ
329デフォルトの名無しさん (アウアウウー Saa5-nHV3)
2018/02/10(土) 18:56:20.46ID:oqzsam8ba お前掛け算知らないの?と変わらないレスを書いて平気なんだな
いくら初心者の発言だとしてもしらける
いくら初心者の発言だとしてもしらける
330デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 19:19:01.09ID:agf4hW9w0 >>312
>クラスのstataicメンバーとして持てばいいだけの話で、むしろシングルトンで実装する必然性が分からない
Programの中に
static ublic int Aaaa;
って入れると このFieldにAaaaは割り当てられません。つにに規定値0を使用します。ってでるんだが、
>クラスのstataicメンバーとして持てばいいだけの話で、むしろシングルトンで実装する必然性が分からない
Programの中に
static ublic int Aaaa;
って入れると このFieldにAaaaは割り当てられません。つにに規定値0を使用します。ってでるんだが、
331デフォルトの名無しさん (ワッチョイ 319d-+g9t)
2018/02/10(土) 19:39:15.98ID:agf4hW9w0 シングルトンやっと動いた。w
Programの中に書くってのもOKだな。Fieldワーニングがでるが。
Programの中に書くってのもOKだな。Fieldワーニングがでるが。
332デフォルトの名無しさん (ワッチョイ c29f-IOan)
2018/02/11(日) 12:07:23.85ID:OiJFvi0/0 イベントとデリゲートの違いがわかりません
イベントを使わなくてもデリゲートでproperty changedが実装できました
両者の違いを教えて下さい
イベントを使わなくてもデリゲートでproperty changedが実装できました
両者の違いを教えて下さい
333デフォルトの名無しさん (アウアウウー Saa5-nHV3)
2018/02/11(日) 12:26:30.96ID:X78IqF+Ja デリゲートは特定のかたちの関数をいれれる変数
イベントはデリゲートを利用して登録した関数を実行できる仕組み
イベントはデリゲートを利用して登録した関数を実行できる仕組み
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 731部隊の新資料、中国が公開 「日本が細菌戦の罪を自白」と主張 ロシアが引き渡し [少考さん★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★7 [ぐれ★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 山田邦子 ひょうきん族時代の年収は12億円「ただ税金が80%」 [muffin★]
- テメェは俺を怒らせたオラァ👊💢😅💢👊🏡
- 泊まったペンションで殺人事件が起きて外部と連絡もできないときってどうしてる?? [793117252]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪
- ブレイキングダウンの前日記者会見ビンタされて失神してる奴出てるやん
- おさかなさんあつまれえ
- 中国 わりとオブラートに包んでわーくにを牽制してしまう「軍国主義復活の企みは失敗する」 [163661708]
