3:デフォルトの名無しさん
18/02/04 22:10:08.05 HudK1GnQ0.net
>他のスレッドでは書き込めないような低レベルな質問、
public class cdata
{
public double Ampea ;
public double Volt ;
public double Temp ;
public double Activity ;
public double Flow ;
}
cdata cdt;
double[] ddt;
cdt.Temp をddt[2]としても扱いたいのだが、どういうように定義したらいい?
4:デフォルトの名無しさん
18/02/04 22:20:34.73 rXp7+rpAa.net
>>2
URLリンク(docs.microsoft.com)
あれ、インデクサーって伸ばす表記になったんだっけ?
5:デフォルトの名無しさん
18/02/04 22:35:51.61 nSH8cPbn0.net
>>2
俺ならenumかな?
6:デフォルトの名無しさん
18/02/04 22:38:34.24 88eIJAAv0.net
>>3
もう10年近く前の話だぞ...
URLリンク(itpro.nikkeibp.co.jp)
7:デフォルトの名無しさん
18/02/04 22:41:47.38 rXp7+rpAa.net
>>5
それは知ってるけど、結局定着してないでしょ
インデクサって表記されることが多かったような気がしたけど、記憶違いか
8:デフォルトの名無しさん
18/02/04 22:53:41.57 88eIJAAv0.net
知ってたら>>3みたいなこと言わないと思うが...
まあ定着とか言ってるぐらいだからちゃんと理解してないんだろうな
9:デフォルトの名無しさん
18/02/04 22:56:13.03 2Op5wSnjM.net
>>2
cdataをstructに変えた上で、
cdata cdt;
double* ddt = &cdt;
ddt[2] = 100;
もしくは、FieldOffset(0)で fixed double[5] をcdtのフィールドに定義する
10:デフォルトの名無しさん
18/02/04 22:59:20.28 nSH8cPbn0.net
まあ、でも、言語がそういう仕様になってないのにそんな書き方するな
ってのは一言言っておきたいね
11:デフォルトの名無しさん
18/02/04 23:04:11.15 rXp7+rpAa.net
>>7
しょうもないことで絡む奴。アホか
君がべき論と現実の区別がつかないだけ。
例えば政府の勧告に従えば破綻は「破たん」と書かなければならないが、
現実には新聞とTVの字幕以外のほとんどのメディアでは相変わらず破綻と表記される。
>>5も同じこと
12:デフォルトの名無しさん
18/02/04 23:07:02.75 rXp7+rpAa.net
これはたぶん政府じゃなくて日経あたりが震源地だろうけど、
「ファストフード」表記のごり押しも結局定着しなかったね
13:デフォルトの名無しさん
18/02/04 23:11:50.23 zMXPgQ7i0.net
必死だな
14:デフォルトの名無しさん
18/02/04 23:20:40.41 88eIJAAv0.net
>>10
>>5のリンク先読んでないのか?
それとも理解できないのか?
MSの社内ルールの話だから世間で定着してるかどうかとは関係なくMSの公式ドキュメントでは伸ばすって話な
15:デフォルトの名無しさん
18/02/04 23:22:59.94 rXp7+rpAa.net
>>13
アホだねえ
だからそのMSのルールは政府の勧告に従ったもの。
Vistaが出る時にそういう触れ込みだったでしょ
16:デフォルトの名無しさん
18/02/04 23:26:08.61 rXp7+rpAa.net
だいたい、インデクサなんて一般的じゃない用語がどう発音されるかなんて
その業界次第だ
17:デフォルトの名無しさん
18/02/04 23:35:04.27 rXp7+rpAa.net
しかし、人を無知だと思い込まないと死ぬ病の奴、
いちいち他人に絡まないと死ぬ病の奴って何なの
こっちが>>5みたいな動きがあったことを意地でも知らなかったと思いたいらしいけど、
むしろ知ってるから>>3みたいな疑問が出てくるんであって、
知らなきゃよくあるカタカナ用語の表記の揺れかなで終わり。
18:デフォルトの名無しさん
18/02/04 23:38:51.63 p5zvJFKF0.net
まあそう気になさらないで…
19:デフォルトの名無しさん
18/02/04 23:40:56.72 zMXPgQ7i0.net
キチガイに触った方が負けやな
20:デフォルトの名無しさん
18/02/04 23:47:19.81 88eIJAAv0.net
>>14-16
政府からの圧力があったのか世間の動向を見たのかは知らんがMSが社内ルールを改訂したと言う事実は変わらない
その事実を知ってて>>3みたいな疑問を持つとかどんだけ理解力がないんだよ w
21:デフォルトの名無しさん
18/02/04 23:51:14.32 RXHjrV0B0.net
一時活字関係の業界で、文字を沢山詰め込むためにーで終わるカタカナ語の最後を切るのが流行ったのさ
その名残で伸ばさない人の勢力が弱まったのかね?
22:デフォルトの名無しさん
18/02/05 00:02:48.36 qmixRvcQ0.net
俺はお前らのためにランダムで「ー」を
付けたり付けなかったりするよ
たまに「-」だったり「―」だったり
「一」だったりもしてみるよ
23:デフォルトの名無しさん
18/02/05 00:06:57.92 BWargw5G0.net
活字業界?
単にJISでそう決まってただけやで...
24:愛恥人
18/02/05 00:33:45.47 .net
これは>>7が悪い
25:デフォルトの名無しさん
18/02/05 00:49:08.59 BWargw5G0.net
まあ>>18の言う通りキチガイに触った奴が負けって言われりゃ返す言葉はないけど... w
26:デフォルトの名無しさん
18/02/05 00:51:50.23 ACPBMebm0.net
テンプレ読めない人たちは消えて
27:デフォルトの名無しさん
18/02/05 09:13:58.24 2ki6mM3n0.net
DirectXや他のフレームワークを使わずに
VSYNCを待つ方法があったら教えてください
28:デフォルトの名無しさん
18/02/05 09:56:49.64 qXocenM+0.net
>>26
無いと思うけど
IDXGIOutput::WaitForVBlankが嫌な理由は?
29:デフォルトの名無しさん
18/02/05 12:22:45.29 GlpP/XMd0.net
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の挙動がわからん。なんで?
30:デフォルトの名無しさん
18/02/05 12:26:30.78 GlpP/XMd0.net
enum enDispNum {dumy, min = 2, max = 5 };
ダミーいれたら動いた。w 笑かす。
31:デフォルトの名無しさん
18/02/05 12:26:34.45 Bh+ceQwrM.net
エラーメッセージ読めば? うちでは再現しないけど
32:デフォルトの名無しさん
18/02/05 12:31:57.15 GlpP/XMd0.net
enum enDispNum:int {dumy, min = 2, max = 5 };
宣言で int 明示してもcastしないとエラーする。 Dumyがないとエラーするし
キャストしないと駄目だし、なんか使いにくいな。
33:デフォルトの名無しさん
18/02/05 12:35:37.13 GlpP/XMd0.net
>30
エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
34:デフォルトの名無しさん
18/02/05 12:40:51.97 GlpP/XMd0.net
>30
同じように2,5で数値していをしてごらん。きっと笑えると思う。
dumyがなくても min=0なら動作するんだろう。おそらく。
例文みたらどれもこれも、数値していがないか、0は一つある。この場合は
dumy=0が暗黙定義されると見た。
35:デフォルトの名無しさん
18/02/05 12:42:14.26 fj9fHmyPa.net
>>32
これはどうでしょう?
int[] dispno = new int[] {(int)(enDispNum.min) , (int)(enDispNum.max)
36: };
37:デフォルトの名無しさん
18/02/05 12:47:43.95 GlpP/XMd0.net
それだとdummyがなくても動く。不思議な、、、
38:デフォルトの名無しさん
18/02/05 12:51:23.30 Bh+ceQwrM.net
VS2010でもVS2013でもVS2017でも再現しない
URLリンク(ideone.com)
ideoneでも再現しない
39:デフォルトの名無しさん
18/02/05 12:55:22.36 GlpP/XMd0.net
そうか。再現する物もあれば、しないものもある。()でくくるといけるものもある。
しかしenumを使う時は
1. dummyを入れる。
2.宣言でキャストしても 個別に必ずキャストすること。
というのを守った方がいいかも。
40:デフォルトの名無しさん
18/02/05 12:58:14.07 GhnQpqxTa.net
なんでそうなるw
確実の君が何か変な勘違いしてるだけだってww
41:デフォルトの名無しさん
18/02/05 13:02:01.82 GlpP/XMd0.net
「dummy を入れたらコンパイルエラーが止まる。正常にコンパイルされて
動作も正常に動作する。」
この理由を説明してごらんよ。
dummyを入れる以外にはなにも変更していない。
42:デフォルトの名無しさん
18/02/05 13:08:04.86 GlpP/XMd0.net
やっぱ想像したとおりだ。min=0にしたら
enum enDispNum:int {min = 0, max = 5 };
これなら
int[] dispno = new int[] {(int)enDispNum.min , (int)enDispNum.max }; //OK
これでもOKだ。コンパイルエラーしない。
43:デフォルトの名無しさん
18/02/05 13:40:21.31 Bh+ceQwrM.net
まあ特殊なコンパイラ使っててそれがバグってるんだろう
とりあえず.NET Framework向けのMS製csc.exeは
> エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
このエラーが出た場合「エラー 1」じゃなくて「error CS0266」って出すし
44:デフォルトの名無しさん
18/02/05 14:18:42.87 GlpP/XMd0.net
VS2013(Pro)だよ。Update5 .NETは4.7
因みにエラー1は一覧の番号だろ。一覧をコピペしただけだから。最初のエラーって意味だ。
2番目のエラーはない。
45:デフォルトの名無しさん
18/02/05 14:22:50.07 mbLKcWnpd.net
>>42
コンパイラの話題じゃないの?
46:デフォルトの名無しさん
18/02/05 14:25:03.58 GlpP/XMd0.net
どういう意味、VSで別のコンパイラーを動かすってこと? そんな高度なこと知りません。
標準のWindowsFormアプリケーションだよ。
47:デフォルトの名無しさん
18/02/05 14:25:56.59 GlpP/XMd0.net
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できる方法ってないの?
48:愛恥人
18/02/05 14:35:35.29 .net
>>42 エラー出てる画面うp
>>45 URLリンク(d.hatena.ne.jp) の結合のところにある関数を使うとか
49:デフォルトの名無しさん
18/02/05 14:41:33.37 GlpP/XMd0.net
もうEnumはいいよ。原因はわかったし、そんなものだろ。
50:愛恥人
18/02/05 14:42:47.42 .net
俺も見たいからうpして(>_<)
51:デフォルトの名無しさん
18/02/05 15:04:28.59 GlpP/XMd0.net
エラー 1 型 'elRemoteControl.enDispNum' を 'int' に暗黙的に変換できません。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
これだよ。だから41が言ってたerror番号だよ。エラー一覧をコピペしたけど
出力一覧の方にはエラー番号がでてた。
52:デフォルトの名無しさん
18/02/05 16:39:11.49 3nUubkW+0.net
こちらでは再現しないので、そのエラーが本当に出ると信じられない
本当なら今後のために原因をきちんと把握しておきたいので、とりあえず件のコードとエラーのスクリーンショットを提示してほしい
53:デフォルトの名無しさん
18/02/05 17:19:51.66 GlpP/XMd0.net
一寸聞きたいんだがキャストをかませないとエラーする件もそちらでは、出てないの?
キャストなしでも動く? とすると俺のpCがおかしいな。
でもキャストがいるとかDumyがいるとかだとやっぱり笑ってこらえる不具合含みでしょ。
俺のPCはDELLのディスクトップだからそこそこ早いやつだよ。(ゲーム用じゃないけど)
54:愛恥人
18/02/05 17:23:06.32 .net
キャストをかませないとエラーとは?
55:デフォルトの名無しさん
18/02/05 17:25:57.56 GhnQpqxTa.net
意地悪だなあw
こんなの確認するまでもないでしょ
まず間違いなく、この質問者さんは、問題に遭遇したのとは
別のコードをここに書いてる。
要するに、彼の問題の原因は彼が思い込んでいるのとは別のところにある。
こんなところに書き込んでる時間があるなら
その間に彼の仮設を検証する最小限のコードを書いて確認すりゃいいのにと思うんだけど、
なぜかそれをしないんだよねこういうあわてんぼうさんは。
56:デフォルトの名無しさん
18/02/05 17:28:42.66 XmQ50b1K0.net
列挙型を数値型に代入するには明示的なキャストが必要なのは言語仕様
int[]の初期化子で全部intへ明示的にキャストしてるのにエラーが出るのはおかしい
まあそんなgdgdはいいからスクリーンショットはよ
57:デフォルトの名無しさん
18/02/05 17:34:20.84 HpRDRToC0.net
別な何かを int にキャストしようとしてるんでないの?
58:デフォルトの名無しさん
18/02/05 17:35:14.81 GlpP/XMd0.net
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)キャストなしは全部エラー
59:デフォルトの名無しさん
18/02/05 17:39:57.27 GlpP/XMd0.net
上の状況は明示的に enum xxx:int{} やっても同じ。
enumで午前中潰してウンザリ。
60:デフォルトの名無しさん
18/02/05 17:46:56.70 GlpP/XMd0.net
URLリンク(docs.microsoft.com)
この列挙型では、要素の並びは 1 からではなく、 0から開始します。 ただし、列挙型には
値が 0 となる定数を含めておくことをお勧めします。 詳細については、列挙型を参照してください。
61:愛恥人
18/02/05 17:47:19.57 .net
>>56-57
>>54
62:デフォルトの名無しさん
18/02/05 17:53:40.29 0BVjum1K0.net
なんだ愛恥人て
63:愛恥人
18/02/05 18:03:46.69 .net
ちな女
64:デフォルトの名無しさん
18/02/05 18:12:19.52 ny8aWquH0.net
idやワッチョイ隠す人は相手にしない方がいい
>>56
上のEnumの場合enDispNumのメンバーが数値だと推論できないんだろうな
理由は多分自分で貼った>>58
enDispNum.minなどのくくりにすると数値が定義済みだからキャストできる
キャストする対象をきちんとかっこで括らないとだめ
65:デフォルトの名無しさん
18/02/05 18:13:19.15 Ju4kmi+XM.net
>>45
ソース汚すぎて何がしたいのか意味がわからん
道具に文句言う前にまずはリーダブルコードでも読んで自分のセンスを何とかしたらどうだ
66:愛恥人
18/02/05 18:19:46.11 .net
知ったかが偉そうなこというなよ(>_<)
67:デフォルトの名無しさん
18/02/05 18:22:49.67 GhnQpqxTa.net
>>62
全然理由になってないw
っていうか、質問者が言ってる現象が本当に再現できるか、自分で試してみました?w
あと、キャスト演算子の優先順位はドット演算子より高いはずなので、
キャスト演算子の後を()で括るかどうかで式の値は変わらないはず。
要するに、>>56はデタラメw
68:デフォルトの名無しさん
18/02/05 18:24:48.77 GhnQpqxTa.net
あれ、逆書いてるw
× キャスト演算子の優先順位はドット演算子より高いはずなので、
○ ドット演算子の優先順位はキャスト演算子より高いはずなので、
69:デフォルトの名無しさん
18/02/05 18:27:16.91 ubowXTd5a.net
その前にvs2013で.net 4.7ってサポートしてるのか?
70:デフォルトの名無しさん
18/02/05 18:29:09.74 mbLKcWnpd.net
>>67
Developer pack入れたらおーけー
71:デフォルトの名無しさん
18/02/05 18:31:21.82 ubowXTd5a.net
今のところ質問者以外の環境では誰も再現してないのは
環境が違うからか?
72:デフォルトの名無しさん
18/02/05 18:46:50.79 dQZdP/WRM.net
こんな変な挙動になる環境って言うのも考えにくいので、質問者が壮大に勘違いしてるか単なるネタの疑念が拭いきれない
ソースとエラーになってる画面のスクショがででくるまでは傍観するわ
73:デフォルトの名無しさん
18/02/05 19:12:13.02 GlpP/XMd0.net
色々想像できる名前が入ってるからスクリーンショットはだめだな。それにスクリーンショットみても
何も変わらんよ。エラーが一行でてるだけだから。
そもそもEnumて数値を設定して使わないから気が付かないだけだろ。それにもう
今月一杯で2013はやめて2017に変更するし。
74:デフォルトの名無しさん
18/02/05 19:25:04.18 jWi5SYZhd.net
クソスレ
75:デフォルトの名無しさん
18/02/05 19:44:13.45 GlpP/XMd0.net
List<string> strdt = new List<string> ();
~
count = 0; dev.ForEach(x => x.Text = strdt[count++]);
この部分は
dev.Zip(strdt,(x,y) => x.Text = y);
これで動くと思ったが動作しないがなぜ?
76:デフォルトの名無しさん
18/02/05 19:57:49.49 a8Suwjh7M.net
>>73
LINQの中で副作用を書くな
77:愛恥人
18/02/05 20:21:57.80 .net
Zipに与えられたラムダ式は遅延実行されるから。
ZipしてからForEachしようぜ
78:愛恥人
18/02/05 20:23:04.21 .net
devとstrdtをマージしたものにForEach
79:デフォルトの名無しさん
18/02/05 22:13:35.29 XPnhCx0B0.net
正規表現を使って文字列から、○○月を除くコードを教えてください。
○には、1から12までが入ります。
80:愛恥人
18/02/05 22:32:29.56 .net
using System.Text.RegularExpressions;
var text = "dejdo8月dksk12月diwk";
text = Regex.Replace(text, @"\d+月", "");
81:デフォルトの名無しさん
18/02/05 23:26:17.82 ubowXTd5a.net
123456789月火水木金土
82:愛恥人
18/02/05 23:54:36.42 .net
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);
83:愛恥人
18/02/05 23:56:41.11 .net
間違えた(>_<)
84:愛恥人
18/02/06 00:14:56.39 .net
2箇所(>_<)
85:デフォルトの名無しさん
18/02/06 01:21:47.08 PO3wsN6Da.net
普通に正規表現使えばいいのに…
[1-9]とか|とか1[0-2]とか
86:デフォルトの名無しさん
18/02/06 01:41:51.19 XGJpv/sv0.net
9999999月火水木金
87:デフォルトの名無しさん
18/02/06 02:00:35.27 ZfaRyY6g0.net
すみません、曜日ではなく年月の月なんです。
88:デフォルトの名無しさん
18/02/06 02:01:52.73 tiswDOzX0.net
数字が、1~2回
\d{1,2}月
89:デフォルトの名無しさん
18/02/06 03:07:18.11 0D5TLInma.net
>>85
細かいけど、リーディングゼロとか、ゼロ以外の数が前にくっついてた場合
どう処理すべきかはっきりした方がいいかも
90:デフォルトの名無しさん
18/02/06 06:20:06.81 ZfaRyY6g0.net
>>78-87
アドバイスありがとうございます。
やってみます。
91:デフォルトの名無しさん
18/02/06 08:01:18.07 eVD8eHcS0.net
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だと嬉しいです
92:デフォルトの名無しさん
18/02/06 08:08:20.72 eVD8eHcS0.net
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;
}
93:恥人
18/02/06 08:23:21.72 .net
Keyに相当する引数の役割は?
94:デフォルトの名無しさん
18/02/06 08:26:12.74 eVD8eHcS0.net
位置、座標の様なものになります
95:恥人
18/02/06 08:32:59.69 .net
最大値を持つ要素の中でKeyがxと一致するものを返したいということ?
96:デフォルトの名無しさん
18/02/06 08:40:29.46 eVD8eHcS0.net
最大値をもっているもののkey(複数あり)がxと一致するかどうかを確認して、一致するならtrueを返したいです
keyがstringになっていますがこれをintにしても構いません
97:デフォルトの名無しさん
18/02/06 08:56:28.56 xtryCv8p0.net
こんな誰でもできることイチイチ人に聞いてるの?
98:デフォルトの名無しさん
18/02/06 10:10:37.94 vApM+tA70.net
寧ろ多くの人は解らんと思うが、、、先ずは質問の意味が正確に解るかどうかだな。
それが最大の問題だ。
「質問はすでにその中に解を含んでいる」、質問者が質問を正確に組み立てられないのは質問者の
責任として放置される性質のものではなくて、回答者の技量によって正確な質問に
組み立て直す。これは頭のいい回答者の責任になる。
でその役割りが君というわけだ。
99:デフォルトの名無しさん
18/02/06 10:21:16.59 vApM+tA70.net
saidaichidesu(1) --> False
saidaichidesu(2) --> true
saidaichidesu(3) --> false
saidaichidesu(4) --> true
saidaichidesu(その他) --> false
上の例ではこういうリターンを期待してる? もしこうであれば簡単だよ。
100:デフォルトの名無しさん
18/02/06 10:55:56.66 eVD8eHcS0.net
>>97
はい!それと同じです!
101:デフォルトの名無しさん
18/02/06 11:26:06.22 vApM+tA70.net
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;
}
102:デフォルトの名無しさん
18/02/06 11:28:45.34 vApM+tA70.net
苦戦した。w 一行では難しいな。もっといい方法があると思う。
103:デフォルトの名無しさん
18/02/06 11:41:32.95 YagpYDjh0.net
たびたびお世話になります。
ラムダ式で作ったスレッドの優先度を変えるにはどのようにしたらよいのでしょうか。
Task sendTask = Task.Factory.StartNew(() => や
ThreadStart action = () =>
で作成したスレッドです。
104:デフォルトの名無しさん
18/02/06 11:47:34.51 eVD8eHcS0.net
>>100
ありがとうございます!
105:デフォルトの名無しさん
18/02/06 11:54:00.12 WJaKumy6d.net
ThreadはいいとしてThreadPoolに優先度って設定出来たかしら?
106:デフォルトの名無しさん
18/02/06 11:58:32.99 YagpYDjh0.net
すみません、101ですが
Threadだけでも良いです。
Taskは優先度の概念?がなさそうですね。
107:デフォルトの名無しさん
18/02/06 12:03:58.25 PO3wsN6Da.net
いつから初心者の質問に初心者が答えるスレになったんだ
厳しいことを言うようだけどコードレベルも一般に全然届いてない
それは参考にならない
108:デフォルトの名無しさん
18/02/06 12:28:02.63 WJaKumy6d.net
>>104
手元に確認するための環境無いから試せないんだけど、作成したThreadStartデリゲートをThreadクラスに食わせてPriority プロパティを設定してスタートで行けるはず。
Thread.Priority プロパティは以下のリンクで
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
109:デフォルトの名無しさん
18/02/06 12:28:10.60 v2bC5kd9r.net
>>105
ずっとそうだけど君を含めて
110:デフォルトの名無しさん
18/02/06 12:48:41.43 gO1cIWGHa.net
>>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の日本語は酷すぎる
何を言ってるのかさっぱり分からない
111:デフォルトの名無しさん
18/02/06 12:58:23.10 YagpYDjh0.net
>>106
ありがとうございます。
確認してみます。
112:デフォルトの名無しさん
18/02/06 13:33:21.39 faPlxNmlM.net
hogeList.Where(_hoge => _hoge.Flag).GroupBy(_hoge => _hoge.Value)
.OrderByDescending(_group => _group.Key).First()
.Any(_hoge => _hoge.Key == key)
113:愛恥人
18/02/06 13:48:39.64 .net
// 指定したキーのデータが最大値を持つか
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;
}
これは悪いソースですか?それとも普通ですか?
114:デフォルトの名無しさん
18/02/06 14:02:52.39 vApM+tA70.net
素晴らしい。よくわかる。良いソースリストの鏡。★★★★。
インデントがついていたらもひとつおまけした。
115:デフォルトの名無しさん
18/02/06 14:08:14.50 vApM+tA70.net
★★★★
var max = hogeList.Max(x => x.Flag ? Value :Int32.MinValue);
return hogeList.Any(x => x.Fkag && x.Key == key && x.Value == max);
評:素晴らしい。1行目のMinValueの使い方がおもしろい。工夫があってなお且つ分かりやすくシンプル。
116:デフォルトの名無しさん
18/02/06 17:02:57.89 vApM+tA70.net
★★★★
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と同じになる。初心者には難解過ぎるので★一つ減らす。
117:デフォルトの名無しさん
18/02/06 17:35:28.55 gO1cIWGHa.net
レーティングスレになってるしw
>>111
ネタの人っぽいけど、それは普通にいろいろ悪いw
一番の害悪はコメント。
118:デフォルトの名無しさん
18/02/06 17:51:59.65 vApM+tA70.net
//0~9までの配列
var array = Enumerable.Range(0, 10).ToArray();
これと同じようにラベルのリストをつくりたいのだが、うまく行かない。どうしたらいい?
こんな感じだとおもうんだが。
List<Label> lblList = Enumerable .Range (0,10).Select (d => new Label (){ Text = d.ToString ()});
119:デフォルトの名無しさん
18/02/06 18:04:54.61 LQXeAkyIM.net
>>116
お前は一年間Linqを使わないで普通にコード書け
Linq使うと上達から遠ざかる
120:デフォルトの名無しさん
18/02/06 18:09:27.95 LQXeAkyIM.net
馬鹿な初心者の例
エラー内容を読まない
質問するときも上手くいかないなどあいまいな言葉しか使わない
121:デフォルトの名無しさん
18/02/06 18:29:23.79 vApM+tA70.net
>>116
自己解決!!
122:デフォルトの名無しさん
18/02/06 19:15:12.35 eVD8eHcS0.net
みなさんありがとうございます
全部参考にさせて頂きます
anyの使い方を知りませんでした
初心者的には>>111が一番わかりやすかったです
私の書いたコードを流用してくれているからだと思いますが
他の例の様にエレガントなコードを書けるように精進します
123:デフォルトの名無しさん
18/02/06 20:28:32.37 vApM+tA70.net
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かけるにはベクトルのコレクションを
返す必要がある。その方法が分からない。
124:デフォルトの名無しさん
18/02/06 20:32:12.84 wUppZDmPM.net
以下のコードを実行すると
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);
}
125:デフォルトの名無しさん
18/02/06 20:47:55.13 ori7vw+Ya.net
>>121
何がしたいの?
動かないって言われてもエスパーじゃないんで...
126:デフォルトの名無しさん
18/02/06 20:50:18.07 ori7vw+Ya.net
っていうか、
>dev.Zip(strdt, (x, y)=> x.Text=y);
ここのラムダ式の戻り値はyになるんだけど、これは意図してるのか勘違いなのか...
127:デフォルトの名無しさん
18/02/06 20:57:00.40 vApM+tA70.net
>動かないって言われてもエスパーじゃないんで...
int count = 0;
dev.ForEach(x => x.Text = strdt[count++]);
やりたいのはこれと同じこと。これは動作する。
128:デフォルトの名無しさん
18/02/06 21:07:22.14 vApM+tA70.net
>>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:
129:デフォルトの名無しさん
18/02/06 21:10:54.60 vApM+tA70.net
--------------------------------
Label0:--0--
Label1:--1--
Label2:--2--
Label3:--3--
Label4:--4--
Label5:--5--
Label6:--6--
Label7:--7--
Label8:--8--
Label9:--9--
これが期待値
130:デフォルトの名無しさん
18/02/06 21:16:50.87 lO9x2Jqya.net
>>125
だったら最初からこれでいいのでは?知らんけど
List<Label> dev=Enumerable.Range(0, 10).Select(d=>new Label() {Name="Label" + d,Text = String.Format("--{0}--", d)}).ToList();
質問する前にもうちょっと自分で頭使って考えた方がいい気がするw
131:デフォルトの名無しさん
18/02/06 21:19:36.18 vvoO9Mxfa.net
�
132:u離スレが必要なのでは?
133:デフォルトの名無しさん
18/02/06 21:20:12.19 ori7vw+Ya.net
なぜか専用ブラウザから書き込めなかったのでChromeから書き込んだけど、
これだけでワッチョイって変わるんだね知らんかった
134:デフォルトの名無しさん
18/02/06 21:24:21.16 vvoO9Mxfa.net
ここ数日の流れでわかったと思うけど
自前のアプリが完成するまでずっとこの人は何かコード書くたびに質問してくると思うけど
それでいいのかな?
135:デフォルトの名無しさん
18/02/06 21:26:28.75 mrlUPoTy0.net
質問じゃなく承認欲求のための報告
連続してどうでもいいことまで書き込んだり質問する
今までも割といたタイプ
136:デフォルトの名無しさん
18/02/06 21:33:07.27 ori7vw+Ya.net
>>128
今は補完文字列が使えるんだったね...
最近コード書いてないからもう忘れてた
137:恥人
18/02/06 21:36:56.00 .net
>>115
ネタじゃないです(>_<)
ダメな点を教えてください(>_<)
138:デフォルトの名無しさん
18/02/06 21:41:08.26 xtryCv8p0.net
>>131
ウザいよね
目的の処理自体は作成できるくせに
聞いてくるなんてキチガイだよね
139:デフォルトの名無しさん
18/02/06 21:44:25.92 vApM+tA70.net
>>128
ZIPの理解が目的なんでな。w
140:デフォルトの名無しさん
18/02/06 21:52:36.71 vvoO9Mxfa.net
>>134
横からだけど
いくつか気になるところがあるけど
とりあえず最後の二つの操作をよ~く見て動作を考えてみたらいいのでは?
var maxDataList = flaggedList.Where(data => data.Value == maxValue);
var hasMaxValue = maxDataList.Any(data => data.Key == key);
141:愛恥人
18/02/06 21:53:01.64 .net
>>121
自分が言ったのはこういうことです(>_<)
匿名クラスを使ってます
var marged = dev.Zip(strdt, (x, y) => {Label=x, Text=y});
marged.ForEach(item => item.Label.Text = item.Text);
142:デフォルトの名無しさん
18/02/06 21:54:49.64 vvoO9Mxfa.net
>>136
理解が目的なら挙動をテストするコード書けばいい
どこかの記事をコピーして実行
そして徐々に変えていって仕組みを理解したらいい
143:愛恥人
18/02/06 21:58:11.36 .net
>>137
意図した動作にならないという意味でしょうか、それともひとまとめにできるという意味でしょうか(>_<)
後者の場合は、一行づつで簡単な意味しか持たないほうが良いと思いすべて分離したのですがまとめまくったほうが良いのでしょうか(>_<)
144:デフォルトの名無しさん
18/02/06 22:12:46.39 ori7vw+Ya.net
>>134
ネタにしか思えんけどw
コメントも余分な一時変数も可読性に寄与しないどころか悪くしかしてないと思う。
好みの問題じゃないと思うけどな
こっちの方が読みやすいでしょ
public bool hasMax(list<Data_hoge> list, int key)
{
var flaggedList = list.Where(data => data.Flag);
var maxValue = flaggedList.Max(data => data.Value);
return flaggedList.Any(x => x.Key == key && x.Value == maxValue);
}
145:愛恥人
18/02/06 22:13:47.78 .net
>>141
ありがとうございます(>_<)
今後の基準にします(>_<)
146:デフォルトの名無しさん
18/02/06 22:14:50.74 ori7vw+Ya.net
>>136
その割にZIPの本来の使い方してないじゃんw
意味が分からないよ
147:デフォルトの名無しさん
18/02/06 22:18:48.00 vvoO9Mxfa.net
もともと条件がふわっとしてるからまあ適当でいいよ
条件をつめて(keyがユニークなのかなど…)行くと普通こういうコードは書かないと思う
148:デフォルトの名無しさん
18/02/06 22:21:05.28 miclds150.net
>>141
元ネタからそうだけど、メソッドはパスカル記法(先頭大文字)で。
149:愛恥人
18/02/06 22:21:37.74 .net
>>144
一行づつで一つの意味しか持たないレベルに分解するのはやりすぎということでしょうか(>_<)
ありがとうございました。
150:愛恥人
18/02/06 22:22:53.83 .net
>>145
確かにそうするべきでした(>_<)
ありがとうございます。
151:デフォルトの名無しさん
18/02/06 22:24:39.50 ori7vw+Ya.net
>>136
ああついでに言っとくと、あなたはたぶん
(1) 列挙を行うオブジェクトを返すこと
(2) 列挙を行うこと
この二つを混同してるんだろうね。
LINQは前者であって後者じゃないのよ。
152:デフォルトの名無しさん
18/02/06 22:26:05.95 T+4erG1sd.net
匿名関数なんてパインソのリスト内包表記とかでイメージつかまないと�
153:ズいよ? それになぜそんなにリンクにこだわるのか いまの時代にカッコつけてスーツに肩パッドいれてる人みたい 要するにカッコつけかたミスってるよ
154:デフォルトの名無しさん
18/02/06 22:26:42.07 vvoO9Mxfa.net
>>146
深入りしなくてもいいけど
そのコードともとの2行のコードは結果は同じだけど
ロジックによる動きを追っていくと違いが判ると思う
155:デフォルトの名無しさん
18/02/06 22:27:51.04 vApM+tA70.net
>>138
いい線行きました。!!!
var marged = dev.Zip(strdt, (x, y) => new {lbl = x, txt = y} );
foreach (var aa in marged ){
aa.lbl.Text = aa.txt;
}
これで動作してますが、Foreachはmargedにメソッドがでてこない。
156:デフォルトの名無しさん
18/02/06 22:32:31.84 Ss12EoFr0.net
みんなよく構ってるな
157:デフォルトの名無しさん
18/02/06 22:36:21.97 vApM+tA70.net
>>138
できました。解決。ありがとう。
158:愛恥人
18/02/06 22:40:30.16 .net
>>149
LINQは手続き型(?)よりも簡単で良いと思っていたのですが勘違いだったのですね(>_<)
参考にします(>_<)
>>150
元の2行のコードというものが分からないです(>_<)
すみません。
>>151
列挙型にForEachがないみたいですね(>_<)
ごめんなさい(>_<)
159:デフォルトの名無しさん
18/02/06 22:56:56.00 vApM+tA70.net
>この二つを混同してるんだろうね。
>LINQは前者であって後者じゃないのよ。
折角のアドバイスにきつい言い方と思うかもしれないが、抽象的な説明よりも具体的に説明をすると
初心者には分かりやすい。あなたにも初心者の部下が沢山いるとおもうがそういうことを心掛けた方がいいと思う。
一番具体的なのは正しいコードで示すこと。
二番目はキーとなる概念が入った間違ったコード。(実際には正しいコードを空で書くのは、ベテランでも難しいからね)
3,4,がなくて5が説教。w
160:デフォルトの名無しさん
18/02/06 23:11:07.29 vApM+tA70.net
>それになぜそんなにリンクにこだわるのか
リンクに拘ってるのはもちろん初心者に最も理解しやすいからで、Zipにとくに拘ったのは
二つのシーケンスを同時に回せないと、一方でForeachを使いながら、同時にカウンターを
回すという不細工なことになるから。
161:デフォルトの名無しさん
18/02/06 23:36:29.47 ori7vw+Ya.net
>>155
なんか楽しい人だなw
162:デフォルトの名無しさん
18/02/06 23:38:39.75 zHDOWiCX0.net
なんだそのゴミレス...
163:デフォルトの名無しさん
18/02/06 23:38:57.77 vvoO9Mxfa.net
偉そうだな
わからないのが偉いのかな?
わからないのは自分の責任だと思うが
小学生の頃も学校の先生に文句言ってたんだろ
164:デフォルトの名無しさん
18/02/06 23:46:58.21 vvoO9Mxfa.net
回答者に対して具体的にコードを書かないといけないと言い出す初心者
モンスター質問者
自分で手を動かして試して考えられないならコードを書く意味なんてない
永遠に誰かに書いてもらえよ
ここでいくらコードを聞いても無駄だな
165:デフォルトの名無しさん
18/02/06 23:47:34.86 mI26xXvn0.net
必死やな。
166:デフォルトの名無しさん
18/02/07 01:20:10.99 7uLVnCRo0.net
わからないことを知っている
167:デフォルトの名無しさん
18/02/07 01:30:26.34 SevIc5yx0.net
ごちゃごちゃ言わずにスルースキルを鍛えろよ
最近はLINQコード書いたレスは全部NGブチ込んでる
こいつの質問超つまんないし
だいたい自分で作成できる処理について他人に質問するなんて気持ち悪いよ
168:デフォルトの名無しさん
18/02/07 01:41:27.68 Lh7Y15yl0.net
オッサンか。
169:デフォルトの名無しさん
18/02/07 01:43:34.31 LsMjQivz0.net
いいえjkです
170:デフォルトの名無しさん
18/02/07 05:11:16.76 DwLQBvRd0.net
早く人間になるか死ね
171:122
18/02/07 10:29:05.60 2q33vA06M.net
>>122 ですが自己解決しました。
Parallel.Forにしたら問題なく動きました。
172:デフォルトの名無しさん
18/02/07 12:29:01.11 5fPvfxRBM.net
>>167
.net4止まりの環境か?
なぜasync/await使わないんだ?
173:デフォルトの名無しさん
18/02/07 12:37:35.45 REKIkbBWM.net
>>168
asyncとParallelは役割が違う
Parallelはデータ並列の同期処理
174:デフォルトの名無しさん
18/02/07 12:43:07.80 ewbQvVlTd.net
>>169
よくコード見てみ
175:デフォルトの名無しさん
18/02/07 12:50:17.72 9H8pQbIza.net
>>170
TaskやめてParallel.Forにするなら意図通りに動作するし別におかしな処理ではないだろ
awaitしたら逐次処理になっちゃうぞ
176:デフォルトの名無しさん
18/02/07 12:53:02.46 9H8pQbIza.net
難を付けるとしたら、arrayの各要素に対する処理を並列化したいんだったらParallel.ForEachの方がいいな
177:デフォルトの名無しさん
18/02/07 17:10:10.88 IuIKj6k10.net
SVGを使いたくてNuGetからSVG2.3というのをインストールしたんですが
これってマニュアルみたいなものはないんですか?
とりあえずググってみて簡単な長方形とテキストは表示できたんですが
どうやって覚えたらいいんでしょうか
178:デフォルトの名無しさん
18/02/07 18:05:16.53 rtPEpBT7a.net
SVGが使いたいなら普通にSVGを勉強したらいいんじゃないの?
ここでHTMLの書き方について質問されてるのと変わりない
179:デフォルトの名無しさん
18/02/07 18:11:47.28 rtPEpBT7a.net
一般論として使い方のわからないライブラリがあるならNuGetに書いてあるオフィシャルサイトに
飛んでそこから調べる
最終更新が3年前とかだったら捨てる
180:デフォルトの名無しさん
18/02/07 19:06:14.35 w9LO8NrH0.net
Visual Studio Community 2017 を使って
特定のフォルダ「c:\hoge」以下のサブフォルダを列挙する
UWPアプリを作ろうとしています。
IEnumerable<string> subFolders = Directory.EnumerateDirectories(@"c:\hoge", "*", SearchOption.AllDirectories);
foreach (string subFolder in subFolders) {
MessageDialog md = new MessageDialog("");
md.Content = subFolder;
md.ShowAsync();
}
とすると
System.UnauthorizedAccessException:
'Access to the path 'c:\hoge' is denied.'
とのエラーとなります。
しかし、対象フォルダをデバッグビルドされるフォルダ
「C:\foo\bin\x64\Debug\AppX」にすると思った挙動となります。
デバッグビルドされる以外のフォルダにアクセスできるようにするには
どうすればいいでしょうか?
ちなみに Visual Studio を管理者権限で実行しても変わりませんでした。
以上、お知恵をお貸しください。よろしくお願いします。
181:デフォルトの名無しさん
18/02/07 19:17:14.76 wak0MWKrM.net
>>176
UWPはそういうもん
セキュリティ上ユーザーに許可されない場所は基本的にアクセスできない
182:デフォルトの名無しさん
18/02/07 19:19:24.20 wak0MWKrM.net
忘れたけどユーザーにフォルダピッカーで選ばせないとアクセスできない
アクセスしたらその情報を保存する方法があって次回からそこは普通にアクセスできるようになる
めんどくさいからUWPやPCLは触りたくない
183:デフォルトの名無しさん
18/02/07 19:25:31.81 5fPvfxRBM.net
>>169
いやいや、taskつかっとるやん!
184:デフォルトの名無しさん
18/02/07 19:25:52.82 wak0MWKrM.net
初心者はUWPを避けたほうがいいと思う
UWjP自体使われていないからこんな質問が出てくる
これ以外にもめんどくさい仕様がてんこ盛り
ある程度勉強が終わった後改めてUWPやったほうがいいよ
185:デフォルトの名無しさん
18/02/07 19:29:40.16 wak0MWKrM.net
初心者が上手にアプリの状態を保存したりしつつ画面遷移できるとは思えない
186:デフォルトの名無しさん
18/02/07 19:43:44.01 w9LO8NrH0.net
>>177,178,180,181
レスありがとうございます!
素直にフォームアプリで挑戦します。
187:122
18/02/07 20:06:28.97 F0tz6mVZM.net
>>172
後出しですいませんが
並列化したかった箇所は外部の特殊な装置へのアクセスで並列化した数だけドライバのインスタンス持ってます。
arrayとしましたが、最終的にはconcurrentDictonaryを使い装置からのデータをまとめています。
async await使ったことないのですが、
また調べてみます。 ところでそもそもの質問ですが、
>>122のコードでtask内からループカウンタを参照した時にnumItems以上になるのでしょうか?
188:デフォルトの名無しさん
18/02/07 20:14:13.39 IuIKj6k10.net
>>174
スレチだったんですね
ありがとうございました
189:デフォルトの名無しさん
18/02/07 20:34:01.56 wak0MWKrM.net
UWPの件をひっくり返してみてみると
その他のプラットフォームのアプリは好きなところを読出し放題なんだよ
190:恥人
18/02/07 20:49:50.30 .net
スレチ
191:デフォルトの名無しさん
18/02/07 21:17:02.65 2uWQJaLvd.net
>>183
whileのタスクの終了待ち?が機能してない
だからタスクより先にi++が行われる可能性があるのでエラーの現象がでてる
IsCompleteってプロパティがあるからそれを使うといいよ
192:デフォルトの名無しさん
18/02/07 21:23:15.78 2uWQJaLvd.net
そもそも>>122は別スレッドで実行しているだけで非同期実行になってないね
実行するとこんな感じ
URLリンク(i.imgur.com)
193:デフォルトの名無しさん
18/02/07 21:31:07.99 QlGLhKOtM.net
既存のXMLを編集したい
編集したタグ以外の要素はテキスト表現を変えたくない
どうしたらいいかな?
コンペア取った時に編集した箇所以外も差分に含まれてしまい困ってる
1回DOMを経由してる以上仕方がないのかもしれないけどなんとかしたい
194:デフォルトの名無しさん
18/02/07 21:41:31.84 7uLVnCRo0.net
>>189
もっと詳しく
195:122
18/02/07 21:42:13.93 3m9Z95aP0.net
>>188
検証ありがとうございます。
各taskがパラレルに実行されてるから期待どおりです。
IsCompleteにすると当然Serialに実行されるのでやりたい事じゃないです
whileは終了まちではなくdebug用途で足しました。
196:デフォルトの名無しさん
18/02/07 21:42:16.51 e8WHE/qt0.net
それは簡単だよ。編集した箇所いがいは差分にでないコンペアをすればいいだけだ。
197:デフォルトの名無しさん
18/02/07 22:16:31.84 o630JNc0d.net
>>191
そうなのか
それならインデックスの宣言をタスクの外に持ってくだけで希望通りの動作になったのに
パラレルforだと、forのあと重たい処理やってからwaitみたいなことできないから気を付けてな
198:122
18/02/07 22:36:14.66 3m9Z95aP0.net
>>193
あ、確かにtaskの外に置くべきでした。
元はindex = iもなしで直接iを参照してたのでってよく考えると危ないことしてました
199:デフォルトの名無しさん
18/02/07 23:03:46.15 SevIc5yx0.net
>>189
手で編集すればいいじゃん
200:デフォルトの名無しさん
18/02/08 07:40:14.42 2nTnRFgHp.net
いきなり質問失礼します
スクレイピングで取得した要素を
while (true)
{
var B = driver.FindElementByid(''id1").Text;
var S = driver.FindElementByid(''id2").Text;
Console.WritLine("要素Bは{0} 要素Sは{1}", B, S);
}
でコンソールに表示しています
BとSには常時変化する小数点のある数字が入ります。
この後、
if (B > S)
を実行したいのですが、BもSも文字列として認識されている為出来ません。
数字として認識させる為にはどうすればいいですか?
201:デフォルトの名無しさん
18/02/08 07:50:14.20 31uXy/SD0.net
「c# 文字列 数値 変換」で検索!
202:デフォルトの名無しさん
18/02/08 08:55:18.85 pXGBR/IR0.net
もしかしてバ
203:ージョン比較だったりしてね。
204:デフォルトの名無しさん
18/02/08 10:13:31.71 2nTnRFgHp.net
>>197
変換出来ませんと出て行き詰まってます
>>198
単にどちらが大きいか見て
コンソールに大きい方を表示させたいだけです
205:デフォルトの名無しさん
18/02/08 10:19:57.85 mIsTyW1Y0.net
実行すると変換できませんと表示されるコードを貼れ
206:デフォルトの名無しさん
18/02/08 10:34:17.49 IFKOrtko0.net
MessageBox.Show("変換できません");
207:デフォルトの名無しさん
18/02/08 10:47:13.30 CG8jTlJKM.net
int.parse
208:デフォルトの名無しさん
18/02/08 10:49:23.48 CG8jTlJKM.net
>>196
というか、こんなコードでスクレイピングとかdos攻撃を疑うレベル。
まじて迷惑だからやめて
209:デフォルトの名無しさん
18/02/08 11:11:17.51 pXGBR/IR0.net
if ((true == double.TryParse(B, out double valueB)) &&
(true == double.TryParse(S, out double valueS)))
{
// valueB と valueSを比較
}
210:デフォルトの名無しさん
18/02/08 12:20:41.72 M09TAhGFr.net
>>203
ワイはお前の知性を疑っとるで
余計な事言うとすぐばれんねんバカって
211:デフォルトの名無しさん
18/02/08 12:40:08.26 2nTnRFgHp.net
>>200
それをする事でどうなりますか?
>>203
始めて1週間なので、
そう思われる理由が分からないので教えてください
>>204
ありがとうございます
試してみます!
212:デフォルトの名無しさん
18/02/08 14:11:43.01 mIsTyW1Y0.net
>>206
どういうコードを書いたせいで動かないのかが分かるんだろ
そうでなければお前は何を解決したくて質問したの?
213:デフォルトの名無しさん
18/02/08 15:08:58.18 JTkprNeY0.net
無駄なメモリの確保を防ぎつつ、フィールドのスコープを限定する方法を教えてください
現在、このようなメソッドを用意して秒間300回程度と頻繁に呼び出しています
void A(){
byte[] data = new byte[1024];
//dataに書き込む処理省略
}
しかし、私の行う用途にでは、呼び出しのたびにdataの配列分確保するのは無駄で、前回の使い回しで十分なんです
dataをメソッドの外で宣言しメモリの確保もすればいいのかもしれませんが、スコープが広がってしまいます(すでに書いてしまったコードがdataという名前のフィールドだらけで収拾がつかなくなっています)
何か手軽に無駄なメモリ確保を防ぐ方法は無いのでしょうか?
よろしくお願いします
214:デフォルトの名無しさん
18/02/08 15:19:58.53 XaQu4uN/0.net
static
215:デフォルトの名無しさん
18/02/08 15:34:43.45 OcC2yENka.net
>>208
VBにはインスタンスと同じ寿命でスコープだけメソッドの変数があるけどC#にはありまへん。
意味があると思えんけど、ラムダ式のキャプチャを利用して、byte[]ではなくFunc(byte[]>のフィールドを持つとか。
まあ、そういう馬鹿馬鹿しいこだわりを捨てて、素直にbyte[]のフィールドを持つのが一番でしょう。
216:恥人
18/02/08 15:45:33.68 .net
>>196
常時更新ってC#のコードでDOM操作するってこと?
217:デフォルトの名無しさん
18/02/08 16:39:22.84 Kmo7gsHqM.net
>>208
どうせ初心者のうちに書いたコードなんて後で全部捨てて書き直すことになるんだから余計なこと気にしなくてよろしい
218:デフォルトの名無しさん
18/02/08 16:39:44.59 NS8cMe+I0.net
この間のwin10のアップデートでwebbrowserの挙動に何か変化有りませんでしたか?
219:デフォルトの名無しさん
18/02/08 17:48:49.85 2nTnRFgHp.net
>>207
変換出来ませんと表示させるコードを書けば、解決策が見つかると言う意味で解釈したらいいですか?
変換出来ませんと表示させるコードを書く理由が分からないので教えてもらえると助かります。
220:恥人
18/02/08 17:50:05.38 .net
ワロタ
221:デフォルトの名無しさん
18/02/08 17:53:07.66 2nTnRFgHp.net
>>211
これがDOM操作と言うのか私には分かりませんが、
ウェブサイトに表示されている、リアルタイムで変化している数字を読み取って比較して表
222:示するという操作がしたいって事です
223:デフォルトの名無しさん
18/02/08 17:57:58.17 rH5InDMMM.net
>>208
そのままでもいいなでは?
一応解決法
外で適当な名前でフィールドを確保
static byte[] buffer= new byte[1024];
中でそれを参照
byte[] data=buffer;
224:デフォルトの名無しさん
18/02/08 18:07:28.71 rH5InDMMM.net
>>216
そもそも何を使ってスクレイピングしてるかすら書いてないから
みな困惑している
seleniumなんだろうけど
225:デフォルトの名無しさん
18/02/08 18:11:56.95 2nTnRFgHp.net
>>218
申し訳ない
seleniumでphantomjs driverです
226:デフォルトの名無しさん
18/02/08 18:12:19.29 rH5InDMMM.net
仮にの話だけど
自分でリフレッシュ(再送信要求)してないのに値が変わってるなら
サイトがjavascriptで値を書き換えてるんだろうからDoS攻撃にはなってない
227:デフォルトの名無しさん
18/02/08 18:29:54.13 XaQu4uN/0.net
>>217
外じゃないと駄目だっけ?
中でよくね?
228:デフォルトの名無しさん
18/02/08 18:35:48.21 rH5InDMMM.net
cと勘違いしてるだろ
229:デフォルトの名無しさん
18/02/08 18:53:26.96 XaQu4uN/0.net
>>222
動作違うのけ?
230:デフォルトの名無しさん
18/02/08 19:01:05.76 K4fxlDLAM.net
>>205
どう客観的に判断してもおまえの方が頭おかしいだろ
231:デフォルトの名無しさん
18/02/08 19:02:24.64 K4fxlDLAM.net
>>216
サイバーテロだから基本をマスターするまで止めろ
232:デフォルトの名無しさん
18/02/08 19:07:12.06 8qhKGghxM.net
>>204
ちょっとそれるが
> if ((true == double.TryParse(B, out double valueB))
って書く人がたまにいるけどなんで不要な true == をいちいち書くんだろう?
233:デフォルトの名無しさん
18/02/08 19:10:37.15 HksZ1obU0.net
>>226
説明的コード
234:デフォルトの名無しさん
18/02/08 19:17:49.11 2Quw3/HN0.net
>>204
これでいけました
ありがとうございます
235:デフォルトの名無しさん
18/02/08 19:21:39.99 rH5InDMMM.net
>>226
英語に不慣れだからかな…
if(cat.IsAnimal==true)
if(true==cat.IsAnimal)
俺は気持ち悪いのでそういう使い方はしない
がnull許容型だと強制されるので非常に不快
236:デフォルトの名無しさん
18/02/08 19:28:45.93 rH5InDMMM.net
日本語で見るとbe動詞が不格好だな
は動物プロパティ
if(猫.は動物)
if(田中誠.は動物)
237:デフォルトの名無しさん
18/02/08 19:56:58.37 pB3FNlLq0.net
>>228
図書館事件よく読んどけ
逮捕されたくなかったらな。
238:デフォルトの名無しさん
18/02/08 21:04:14.05 +n10mrf5a.net
>>226
本当は分かってるんでしょ?w
人が悪いよ
たぶんデリゲートやラムダ式に拒否反応を示す人の思考回路と同じ。
値って考え方が呑み込めてないんだと思う。
239:恥人
18/02/08 21:06:28.03 .net
>>230
isって「である」じゃないのけ?
240:デフォルトの名無しさん
18/02/08 21:07:27.62 iBuunKtKa.net
Is~もやれやれってため息つくよな
241:デフォルトの名無しさん
18/02/08 21:21:20.99 915zsRTA0.net
>>226
ごめんね
242:デフォルトの名無しさん
18/02/09 06:50:10.99 Oqb9O2xfM.net
>>233
This is a pen.
これはペンである。
うん、間違ってないな w
243:デフォルトの名無しさん
18/02/09 07:59:47.67 P5bFhw7XM.net
>>226
設計者が悪い
~が真の場合~する
これをコードにするとブーリアンとの比較になる
~の場合
ならブーリアンとの比較にならない
244:デフォルトの名無しさん
18/02/09 08:08:26.68 XPAWz2Uc0.net
わたしのことでけんかしないで
( ;∀;)
245:デフォルトの名無しさん
18/02/09 09:40:28.56 /RflGba8d.net
>>226
trueとfalseを=で書く、falseだけ=で書く、falseだけ!で書く
どれでもいいけど!を使いたくないって話はよく聞くな
falseを=で書くならtrueも同じ様に書いた方が見やすいかもね
246:デフォルトの名無しさん
18/02/09 09:46:12.82 XMMaiogJ0.net
VS2013からVS2017で、
C#のWinForm
247:的には何か大きく変わりましたか? WPFやUWPやXamarinは使わないです
248:デフォルトの名無しさん
18/02/09 11:00:06.20 fIXFpK3Ia.net
if(a==true) if(a==false) ははっきり言ってダメなやり方
たとえば b!=’1’の結果としてaがあった場合
aには充分な論理的結果が入っているのに
それを比較してる
つまり
if(b != '1')
bが'1'でないならを
if((b !=' 1') == true)
bが’1'でないが真なら としてる
無駄に条件比較の次元が増えてる
249:デフォルトの名無しさん
18/02/09 11:18:11.85 XPAWz2Uc0.net
ってことよ。
言語仕様で保証されてるから
ってもうええやろ
250:デフォルトの名無しさん
18/02/09 12:40:19.33 Un6XU7IsM.net
>>240
はるか昔に開発終わってるから何も変わってないよ
今のVSでアグレッシブに開発進んでるのってプラットフォームでいえばWeb関係でCoreとかAzure、
VS自体の機能でいえばチームコラボレーション系がメイン
もはや昔ながらのクライアントアプリ開発者には何の恩恵もない代物
251:デフォルトの名無しさん
18/02/09 12:55:39.76 Un6XU7IsM.net
あと、日々のマイナーアップデートで平気でC#の言語のバージョンが上がるという、昔のMSからするとありえないことをやってる
プロダクトを自己責任で軽いノリでリリースできるような事業形態の組織なら、
ある日突然新しい構文が使えるようになったりして楽しいからVS2017に移行する価値はあるよw
252:デフォルトの名無しさん
18/02/09 13:29:03.11 HaVaZvGAa.net
>>237
それも違うというか、まさにそういう考え方をする人が>>226みたいな書き方をするんだと思うw
ifを○○なら××する、みたいな条件判断だと考えると、○○の箇所に比較演算子を書きたくなっちゃう。
(だからBASIC上がりの人はこういうコードを書きたがる)
逆にifなんて実態は機械語のJZ(Jump if Zero)で、要するに単に値を評価して分岐するだけ、
って考えると>>226みたいな書き方見るとなんじゃこりゃって思っちゃう
253:デフォルトの名無しさん
18/02/09 13:36:54.05 oYoiHq1LM.net
最近コードの自動生成をよくする
falseのときは書いて
trueのときは書かないとかやってねぇからtrue==は出る
同じノリだろ
254:デフォルトの名無しさん
18/02/09 13:59:22.67 XMMaiogJ0.net
>>243-244
なるほど、ただのクライアントアプリだけなら関係ないのですね
新しい構文を勝手に使うとたまに怒られるので、止めておきますw
255:デフォルトの名無しさん
18/02/09 14:30:07.84 h6aWYpFC0.net
bool?使うとtrue==は書かざるをえないんだよね。使いみちは限られるがUWPのx:Bindでbool?使わざるを得なかったりする
256:デフォルトの名無しさん
18/02/09 15:38:49.43 BbZWe4RQM.net
>>248
bool? は if (x ?? false) の方がスマート
257:デフォルトの名無しさん
18/02/09 18:08:05.87 boHsluDEM.net
>>245
プログラマは考えてはいけない
どんなにおかしなプログラムになっても設計書の通りに書くことが大切
製品の品質より方法論や会社のルールを優先しよう
それがサラリーマンのあるべき姿だよ
258:デフォルトの名無しさん
18/02/09 18:19:12.75 b+4e2jxgd.net
サラリーマンプログラマらしいレスなのねん。
259:デフォルトの名無しさん
18/02/09 20:20:41.17 TwVCAmtId.net
サンデープログラマ
260:デフォルトの名無しさん
18/02/09 20:39:08.80 EQhMg6az0.net
戦うサンデープログラマーっていうポッドキャストがあってだな
261:デフォルトの名無しさん
18/02/09 21:56:26.91 I0pHcAAD0.net
単純にa==trueって書くときa=trueっていうミスしたときに発見難しいけど
true==aって書くようにしてたらtrue=aってミスしても
262:コンパイル通らないから見つけやすいよねってだけじゃないの? 昔客先常駐でIT土方してた先輩はそう言ってた
263:恥人
18/02/09 21:57:48.11 .net
アスペかよ
264:デフォルトの名無しさん
18/02/09 22:22:38.32 lhoyckc/0.net
>>254
今のIDE使っている人達にしてみたら何を言ってるのかわからん言葉だなw
265:デフォルトの名無しさん
18/02/09 23:44:22.11 Duwvp4uk0.net
土方の話はいいよ
穴掘って叫んでて
266:デフォルトの名無しさん
18/02/10 05:04:14.37 aLYixKao0.net
日経ソフトウェア買ったよ!
267:デフォルトの名無しさん
18/02/10 08:55:01.53 agf4hW9w0.net
List<int> idata =new List<int> (){1,2,3,4,5,6};
foreach (var dt in idata)
{
dt = 0;
}
dt=0が代入できない。 idata[0]=0;は代入できる。これはどう考えたらいいんだ?
268:デフォルトの名無しさん
18/02/10 10:13:31.02 L0Z1niMi0.net
>>259
foreachで取ってきた要素はIEnumerator.Currentなので読み取り専用になる
269:デフォルトの名無しさん
18/02/10 10:58:14.53 agf4hW9w0.net
しかしLinqのForeachならセットできる。
270:デフォルトの名無しさん
18/02/10 11:06:54.61 h94azKRjM.net
できたとしてもそもそもdtは値のコピーなのでセットできてもListの値は書き変わらない
271:デフォルトの名無しさん
18/02/10 11:08:07.90 agf4hW9w0.net
List<Label> lbl = new List<Label>() { new Label(), new Label ()};
lbl.Add (new Label() );
foreach(var l in lbl) {
l.Text = "aaaa";
}
これはできるけど。
272:デフォルトの名無しさん
18/02/10 11:14:08.02 agf4hW9w0.net
List<clsint> idata = new List<clsint>();
foreach (var i in idata)
{
i.val = 123;
} class clsint{ public int val;}
これもできるけど。
273:デフォルトの名無しさん
18/02/10 11:15:02.53 h94azKRjM.net
dtが値型でも参照型でもコピー
参照型はアドレスがコピーされてるので
参照先のオブジェクトの書き換えが有効
値型は値自身がコピーされているので元の値に影響しない
274:デフォルトの名無しさん
18/02/10 11:15:51.97 h94azKRjM.net
これは初心者が勉強したら理解できる内容なので
勉強しなさい
275:デフォルトの名無しさん
18/02/10 11:18:07.39 h94azKRjM.net
初心者脱出がレベル20だとしたら今のforeachの件はレベル5ぐらい
276:デフォルトの名無しさん
18/02/10 11:19:27.25 h94azKRjM.net
ちゃんとした入門書をちゃんと読んで学習したらレベル10ぐらいは行く
277:デフォルトの名無しさん
18/02/10 11:22:26.94 h94azKRjM.net
残念だね
ちゃんと本でも読んでコードを書いてたらレベル10に到達するのに
勉強してるつもりになってふらふらしてるからレベル5
278:デフォルトの名無しさん
18/02/10 11:42:19.85 agf4hW9w0.net
>foreachで取ってきた要素はIEnumerator.Currentなので読み取り専用になる
参照型もIenumerator.Currentなのか?
なぜ読み取り専用でもライトできるのか?
279:デフォルトの名無しさん
18/02/10 11:47:11.44 oEqOo86Y0.net
読み取り専用はフィールドまで伝播しませんので
280:デフォルトの名無しさん
18/02/10 11:49:38.24 h94azKRjM.net
ここでクダ巻いてないで勉強したらいいのに
自分より出来る人に突っかかってもいいことないのに
281:デフォルトの名無しさん
18/02/10 11:53:29.42 agf4hW9w0.net
>>271
なるほど!!
282:デフォルトの名無しさん
18/02/10 11:54:13.36 h94azKRjM.net
メソッド内の変数書き換えとかも理解してなさそう
283:恥人
18/02/10 12:07:40.93 .net
>>272 >>274
グチグチうるせえな
284:デフォルトの名無しさん
18/02/10 12:14:30.61 h94azKRjM.net
わかった
ぐちぐちはやめよう
>>263
>>264
この2つともListの中身は変わっていないと言うことはわかるかな?
285:デフォルトの名無しさん
18/02/10 12:29:08.56 PglyRkoG0.net
読み取り専用の参照型の変数は参照は書き換えられないが、その参照を得ればそれが指し示す実体を読み書きできる
286:デフォルトの名無しさん
18/02/10 12:35:19.58 h94azKRjM.net
Listは中に追加された値を保存してる
intとかの値型はその値自身を持ってる
クラスとかの参照型は対象になるクラスへの参照が入ってる
そのListの中にある参照先自体は変わってない
>>273
残念だけどその内容になるほどというとドツボにはまる
classじゃなくてstructにするとフィールドまで書き換えできないと気づ
287:く フィールドに波及しないと言うのは誤った理解
288:デフォルトの名無しさん
18/02/10 12:41:02.28 h94azKRjM.net
こんなところで怪しい回答に頼るより
しっかりした実績のある入門書に頼ったほうがいいよ
マジで
誰だってその時々で間違うし
本の時代は終わったなんていう奴がいるけど
webだけじゃ網羅的に勉強しづらい
289:デフォルトの名無しさん
18/02/10 12:41:58.21 7Yj567YX0.net
いいじゃん誤った理解で
馬鹿は痛い目みないと治らないから
ぜひ痛い目みて貰おうぜ
290:デフォルトの名無しさん
18/02/10 13:07:19.11 agf4hW9w0.net
foreach (var dt in idata)
{
dt = dt < min ? min : max < dt ? max : dt;
}
みたいなことができない。これはよくあるケースなので不便。
291:デフォルトの名無しさん
18/02/10 13:11:16.15 agf4hW9w0.net
>しっかりした実績のある入門書に頼ったほうがいいよ
最近2冊ほど読んだけど、細かいところはやってみないとわからないよ。読んだだけでは無理。
なれが必要だ。で慣れるためにコードを書く。しかしサッパリ動かない。w
292:デフォルトの名無しさん
18/02/10 13:15:58.33 agf4hW9w0.net
//パラメータをシングルトンで持たせたいのだが、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で格納するときにスタティックにすると格納できない。
293:デフォルトの名無しさん
18/02/10 13:27:26.20 h94azKRjM.net
また伝わらない書き方だなあ
Jsonとはなんなのか?stringなのか?typeだとしてどのJsonなのか?
294:デフォルトの名無しさん
18/02/10 13:30:10.75 S1subAI+M.net
>>283
そのレベルのことは一通り基礎を終えれば分かるから、今はソースに直にstaticで書いとけ
言っちゃ悪いけど、まだ設定の外部化なんか考えるようなレベルじゃない
シングルトンも忘れていい
295:デフォルトの名無しさん
18/02/10 13:32:00.29 h94azKRjM.net
参照型と値型を区別できないと普通に困るよ
そのたびにここで質問するの?
俺はc#の仕様が面白かったので入門書みたいのを10回以上読んだ
delegateとかeventとか他にはなかったから刺激的だった
296:デフォルトの名無しさん
18/02/10 13:37:02.28 agf4hW9w0.net
>シングルトンも忘れていい
グローバル変数を散らばらせるとなかなか大変になるので、ここは最初に抑えること。
別にシングルトンでなくてもいいが、、スタチックはJson.netに保存できないので仕方なしに
調べていたらシングルトン。ほんまにトンだよな。たったこれだけのことに頭を
悩ませないといかんとは。
297:デフォルトの名無しさん
18/02/10 13:38:27.41 h94azKRjM.net
>>287
君は5かける3はと言われて
1から順に数字を答えてる状態にしか見えないんだけど
298:デフォルトの名無しさん
18/02/10 13:40:22.73 agf4hW9w0.net
>参照型と値型を区別できないと普通に困るよ そのたびにここで質問するの?
いままさにこれに困っている。そこでプロパティにしたらどうなの?って実験してみようと思っている。
private clsGrovalParam _Param = new clsGrovalParam() {value1 = 1};
public clsGrovalParam Param
{
get { return _Param; }
set { Param =_Param ;}
}
299:デフォルトの名無しさん
18/02/10 13:41:47.03 agf4hW9w0.net
>>288
最初はそうでしょ。だれでも
300:
301:デフォルトの名無しさん
18/02/10 13:43:20.18 h94azKRjM.net
>>290
違うよ
九九の5X3を覚える
君にはそれがない
302:デフォルトの名無しさん
18/02/10 13:48:03.17 h94azKRjM.net
5を3回足すとか3を5回たすとか考えたり
5X3を覚えるとかがない
1から数え上げていって9当たりで疲れて質問に来る
303:デフォルトの名無しさん
18/02/10 13:48:40.57 STtvgiYf0.net
算数スレ
304:デフォルトの名無しさん
18/02/10 13:53:43.90 2bX56Vysa.net
>>287
>グローバル変数を散らばらせるとなかなか大変になるので、ここは最初に抑えること
それはそもそもグローバル変数が多いこと自体が問題。
まともな設計が身に着けば自然に減る。
シングルトンは基本的にアンチパターンであり、初心者が積極的に使うものではない。
305:デフォルトの名無しさん
18/02/10 13:55:47.90 agf4hW9w0.net
>291
だめだよ。そういう覚え方は。最初は足と手の指を使って15までカウントする。
306:294
18/02/10 13:56:15.28 2bX56Vysa.net
初心者には紛らわしい物言いだったので補足
シングルトンはメンバも含めて実質すべてグローバル変数な
307:デフォルトの名無しさん
18/02/10 14:03:56.78 8juYsZ8V0.net
休みの昼間っから真っ赤にしてる奴にろくなのはいない
308:デフォルトの名無しさん
18/02/10 14:04:44.96 oqzsam8ba.net
やりたいことと実力のレベルに差があって
ちぐはぐしてるのは間違いない
例え15まで数えて正解しても次にはつながらないので
仕組みを理解してからのほうが良いのでは?
309:デフォルトの名無しさん
18/02/10 14:07:05.88 oqzsam8ba.net
仕組みが理解できない場合いくら手を動かしても得られるものはないんでは?
310:デフォルトの名無しさん
18/02/10 14:09:29.78 h94azKRjM.net
>>295
頑張ってpiの再発見でもしたらいい
311:デフォルトの名無しさん
18/02/10 14:11:45.16 HkD8Ulqu0.net
初心者はなんでも場当たり的に解決しようとするが、これは意識しないと気が付かない悪い癖
312:デフォルトの名無しさん
18/02/10 14:13:46.43 oqzsam8ba.net
仕組みを理解するために手を動かすのは正しい
仕組みを理解せずその場の答えを出すためにやみくもに手を動かすのは正しくない
313:デフォルトの名無しさん
18/02/10 14:16:21.43 agf4hW9w0.net
>295
細部はあまり関係ないと思う。
ベテランはそういう細部をきにするが、要するにシングルトンで何をしたいのか?
どう機能するものなのか?
それが大事なポイントじゃあるまいか。 名前の問題とか実装方法の問題じゃない。
別にシングルトンでなくてもいい。
ポイントはつまりアンチスパゲッティ。w
変数1,2、---100位は直ぐに散らばる。
これをまとめて一つにしておけば分かりやすい。まあ名前をまとめたところで参照は100か所に
なるから、どうしたって散らばるが、変更箇所は1か所にすることができる。それに括りの名前を付けて
おけばGrepできる。そういうメリットがある。ただそれだけのことだ。でもこれが大きい。
314:デフォルトの名無しさん
18/02/10 14:20:22.95 agf4hW9w0.net
要するにインスタンスを一個しか持たないクラスにまとめたグローバル変数。
その割に実現がややこしい。w
315:デフォルトの名無しさん
18/02/10 14:23:51.65 STtvgiYf0.net
この話いつまで続くの?
316:デフォルトの名無しさん
18/02/10 14:50:46.07 xv5r03JM0.net
>>305
NG使えば一瞬で
317:デフォルトの名無しさん
18/02/10 15:34:01.81 WFVVWPNp0.net
設定データをシングルトンでって時点で何かがおかしい
318:デフォルトの名無しさん
18/02/10 16:43:32.86 agf4hW9w0.net
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にしないでシングルトンを作るにはどうしたらいいんだ?
319:デフォルトの名無しさん
18/02/10 16:45:37.25 agf4hW9w0.net
>設定データをシングルトンでって時点で何かがおかしい
アプリで共通に使うパラメータはシングルトンにする。
のがいいと思うのですが、、、、w
320:デフォルトの名無しさん
18/02/10 16:52:28.02 eFhUfahpM.net
>>309
単体テストが困難になるから避ける
大元のインスタンスは
321:staticでグローバルに共有してもいいけど、 そのグローバル変数に直接アクセスするのは最小限にしてコンストラクタなどで必要なものだけ受け取るようにするのが基本だよ
322:デフォルトの名無しさん
18/02/10 16:55:21.75 wVMdjZ3id.net
>>282
しっかりした入門書なら決して「読んだだけ」になることはない
323:デフォルトの名無しさん
18/02/10 17:05:43.20 nWm1Yfxva.net
>>309
スレの流れを把握してないのでひょっとしたら話が噛み合ってないかもしれないけど、
そういうのは、例えばVSが吐き出すプロジェクトのスケルトンで言ったらProgramみたいな
クラスのstataicメンバーとして持てばいいだけの話で、むしろシングルトンで実装する必然性が分からない
324:デフォルトの名無しさん
18/02/10 17:15:55.14 agf4hW9w0.net
Staticで持つとJson.Netが保存を拒否する。
325:デフォルトの名無しさん
18/02/10 17:17:35.19 agf4hW9w0.net
string json = JsonConvert.SerializeObject(Param);
こんなの。
326:デフォルトの名無しさん
18/02/10 17:18:43.93 agf4hW9w0.net
Staticでもってコピーすりゃいいだけか? そうだよな。w
327:デフォルトの名無しさん
18/02/10 17:24:59.76 agf4hW9w0.net
あれっ、保存できた。しかしスタディックにしても値が初期化されてしまう。
なんか別のインスタンスを作ってる。
328:デフォルトの名無しさん
18/02/10 17:34:00.54 nWm1Yfxva.net
なんかstaticメンバーとstaticクラスの区別が付いてない予感...
329:デフォルトの名無しさん
18/02/10 17:43:18.71 agf4hW9w0.net
原因が分かった。
InitializeCompornent();がLoacalエリアをクリアしてる。
そんな馬鹿な。
Local変数でParamを宣言したときに
clsParam Param = clsParam.GetInstance ().Param ;
で値を代入してるのに。
コンストラクタのInitializeCompornent();がこのLoacalエリアをクリアしてる。そういうものか?
330:デフォルトの名無しさん
18/02/10 17:47:47.83 14GiOIOi0.net
Localエリアって何だ?
331:デフォルトの名無しさん
18/02/10 17:52:03.67 agf4hW9w0.net
ごめん。ローカル変数。
332:デフォルトの名無しさん
18/02/10 17:54:10.49 agf4hW9w0.net
でもやっぱり違う。ローカルを宣言して同時にGetInstanceで設定したら、その値が
入っている。 OK
次にInitializeCompornent();を実行する。
その次にもう一度このローカル変数にGetInstance()で代入したらクリアされてる。
おかしい。w
333:デフォルトの名無しさん
18/02/10 17:57:57.91 rd7v/Ruq0.net
このスレは勉強のために見ているけどID:agf4hW9w0は初心者に害悪でしかないな
334:デフォルトの名無しさん
18/02/10 17:58:07.62 nWm1Yfxva.net
あ、この人数日前からしょうもない質問したり逆ギレしたりしてるお人かなw
正義(笑)をかさに着て人を追い出すようなことを言うのは好きじゃないけど、
それでも実況みたいなレスは自分で専用スレ立ててやった方がいいんじゃないの?
335:デフォルトの名無しさん
18/02/10 18:07:33.04 agf4hW9w0.net
Gofとか興味ないの? デザインパターンの大先生だよ。それが全然動かない。w
たいそうな本出してる割には、、、、、とちょっと不信感が沸いてる。
336:デフォルトの名無しさん
18/02/10 18:10:31.89 agf4hW9w0.net
思うにカッコつけた本でも具体例が提示できないとだめだな。
抽象的な説明はカッコいいが、具体的なサンプルで動かないとカッコばかりで駄目だな。
337:デフォルトの名無しさん
18/02/10 18:18:38.37 zPhvoOhZ0.net
ここ2週間くらい変なのが住み着いているの最悪だろ
338:恥人
18/02/10 18:19:18.91 .net
言うほど気になるか?
339:デフォルトの名無しさん
18/02/10 18:24:02.09 zPhvoOhZ0.net
そうだなお前も含めて気になるよ
340:デフォルトの名無しさん
18/02/10 18:56:20.46 oqzsam8ba.net
お前掛け算知らないの?と変わらないレスを書いて平気なんだな
いくら初心者の発言だとしてもしらける
341:デフォルトの名無しさん
18/02/10 19:19:01.09 agf4hW9w0.net
>>312
>クラスのstataicメンバーとして持てばいいだけの話で、むしろシングルトンで実装する必然性が分からない
Programの中に
static ublic int Aaaa;
って入れると このFieldにAaaaは割り当てられません。つにに規定値0を使用します。ってでるんだが、
342:デフォルトの名無しさん
18/02/10 19:39:15.98 agf4hW9w0.net
シングルトンやっと動いた。w
Programの中に書くってのもOKだな。Fieldワーニ
343:ングがでるが。
344:デフォルトの名無しさん
18/02/11 12:07:23.85 OiJFvi0/0.net
イベントとデリゲートの違いがわかりません
イベントを使わなくてもデリゲートでproperty changedが実装できました
両者の違いを教えて下さい
345:デフォルトの名無しさん
18/02/11 12:26:30.96 X78IqF+Ja.net
デリゲートは特定のかたちの関数をいれれる変数
イベントはデリゲートを利用して登録した関数を実行できる仕組み
346:デフォルトの名無しさん
18/02/11 13:06:10.79 v1VeVCTSM.net
>>332
イベントはメンバの一種、デリゲートは型の一種。
C#ではメソッドはオブジェクトではない。それを値として受け渡しするために、メソッドをオブジェクトとして包むための型がデリゲート。
イベントは、イベントに対してデリゲートを登録&削除するという一般的なパターンを簡単にかつ利用者に分かりやすく実装するための特殊なメンバ。
プロパティに相当する。実際、イベントの登録削除はプロパティのように独自に実装することもできる。
興味があるならイベントアクセサでググってみるといいよ。イベントを自分で実装してみれば完全に理解できるはず。
347:デフォルトの名無しさん
18/02/11 14:10:21.78 TT4/yggk0.net
デリゲートは変数なのか?
348:デフォルトの名無しさん
18/02/11 15:19:36.02 jKl1uVTt0.net
メソッドの引数に1000以上の要素を持ったリストを渡す場合、メモリの消費等考慮するとやはり参照渡しが良いでしょうか?
349:デフォルトの名無しさん
18/02/11 15:27:05.48 MHMFdyK60.net
出た「参照渡し」
誤解している臭いがプンプンする
350:デフォルトの名無しさん
18/02/11 15:29:24.34 b8HFi7Nc0.net
リスト自体が参照なので、リストのアドレスをコピーするコストしか発生しないのでは?
自信はないので詳しい人教えてくだちい。
351:デフォルトの名無しさん
18/02/11 15:29:47.87 MHMFdyK60.net
面倒くさいから解説しないが
List<T>をそのまま渡そうがrefで渡そうがほとんど何も変わらん
352:デフォルトの名無しさん
18/02/11 15:30:32.22 cPKTA0XS0.net
>>336
配列やリストは渡した先でインスタンスを書き換えない(nullにしたりしない)場合はref付けずにそのまま渡せ
コピーして渡すわけじゃないから
353:デフォルトの名無しさん
18/02/11 15:32:27.75 a0wWm6rj0.net
>>336
これ言葉遊びになりがちなんだよな
「値型の値渡し」、「値型の参照渡し」、「参照型の値渡し」、「参照型の参照渡し」をまとめて値渡しと参照渡しと呼ぶのが元凶なんだろうけどさ
URLリンク(ufcpp.net)
354:デフォルトの名無しさん
18/02/11 16:15:49.09 OiJFvi0/0.net
>>334
adderとremoverというのがあって、+=で繋いだときはadderが呼ばれ、-=で削除したときはremoverが呼ばれるんですね
ここが単なるデリゲートのマルチキャストとと違うところだと思いました
どうもありがとうございました
355:デフォルトの名無しさん
18/02/11 16:44:34.62 OIEAsiwva.net
>>342
っていうか、コールバックを実現したいからと単純にデリゲート変数をそのまま公開すると、
(1) 外部からnullを代入できてしまう
(2) 外部からInvokeできてしまう
こういった問題がある。
だからデリゲート変数とは別のイベントに存在意義があるんでしょう
356:デフォルトの名無しさん
18/02/11 16:44:55.18 zggVxteM0.net
C# WPF
xaml上にキャンバス配置、その子にImageがあって、
このImageをタイマーで左に動かしたいのですが、Imageの座標の動かし方が分からないです。
Canvas.Letfや、Image.Leftと打っても「現在のコンテキストが存在しない」とエラーが返ってきます。
357:デフォルトの名無しさん
18/02/11 16:51:35.15 cqxb7NMTM.net
Blendでプロジェクト開いてストーリーボード追加して
ドラッグして終わり
という方法は一般的でないけど楽
358:デフォルトの名無しさん
18/02/11 17:01:20.38
359: ID:jKl1uVTt0.net
360:デフォルトの名無しさん
18/02/11 17:04:07.30 zggVxteM0.net
ストーリーボードは使わず、タイマー+csのコードで出来る方法をお願いします。
image.Width ←OK
image.Height ←OK
image.Left ← 出来ない
image.Top ← 出来ない
canvasの子としてimageがあるから出来ないのかなとは思うのですが、
canvas.Left ←出来ない
canvas.Top ←出来ない
も出来ないからお手上げです。時間経過ごとに少しづつ画像を動かしたいだけなんですが・・・
361:デフォルトの名無しさん
18/02/11 17:12:32.26 cqxb7NMTM.net
Canvas.SetLeft
362:デフォルトの名無しさん
18/02/11 17:14:45.66 cqxb7NMTM.net
実際のimageにはLeftとかは存在しないので
別の場所で辞書のようなもので保存してる
それが添付プロパティ
363:デフォルトの名無しさん
18/02/11 17:19:28.14 zggVxteM0.net
setleftも試してて何でだろうと思ったら、usingでsystem.windows.controlを設定していませんでした。
ありがとうございます。
添付プロパティというのも初耳なので勉強します。
364:デフォルトの名無しさん
18/02/11 18:04:06.76 eSM+gwdh0.net
大学のプログラミングの課題を家でもできるようにしたいです
大学ではemacsでcファイルを作りコンパイラー(名称不明)にかけてgnuplot上でプログラムを実行してます
↑をできるような環境を自分のノートPCに作るために何をインストールすれば足りるでしょうか?
使用PCは富士通LIFEBOOK、OSはwindows10です
365:デフォルトの名無しさん
18/02/11 18:07:07.71 cqxb7NMTM.net
>>351
ここはc#のスレであってcのスレじゃない
スレチ
まあ一番簡単なのはUSB起動のlinux使うか
virtualboxにlinuix入れることかな
366:デフォルトの名無しさん
18/02/11 18:07:22.85 /hLQhQLG0.net
C言語とC#は別だぞ~
367:デフォルトの名無しさん
18/02/11 18:07:58.00 cPKTA0XS0.net
>>351
ここはC#のスレでCとC#は別物
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
スレリンク(tech板)
368:デフォルトの名無しさん
18/02/11 18:08:12.83 eSM+gwdh0.net
すみません、どうやらC言語とC♯、C++の区別もついてないみたいです…
369:デフォルトの名無しさん
18/02/11 18:08:48.25 eSM+gwdh0.net
誘導ありがとうございます、行ってみます
370:デフォルトの名無しさん
18/02/11 18:12:55.04 cqxb7NMTM.net
向こうに行ってcygwinやMinGWやMSYSやBOW入れろとか言われてたら笑う
371:デフォルトの名無しさん
18/02/11 18:15:47.59 /hLQhQLG0.net
linuxにこだわるおまえに笑う
372:デフォルトの名無しさん
18/02/11 18:18:09.04 cqxb7NMTM.net
EmacsとGCCやGnuplot入れる前提でわざわざ変な環境使う意味がわからない
373:デフォルトの名無しさん
18/02/11 18:21:30.65 /hLQhQLG0.net
emacsにこだわるおまえに笑う
374:デフォルトの名無しさん
18/02/11 18:23:37.00 cPKTA0XS0.net
>テンプレが読めない回答者、議論をしたいだけの人は邪魔
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
375:デフォルトの名無しさん
18/02/11 18:24:17.18 cqxb7NMTM.net
文字よめないんか?
376:デフォルトの名無しさん
18/02/11 18:26:07.33 /hLQhQLG0.net
どう見てもこのシチュエーションでecmasは重要じゃないということが分からないおまえに笑う
377:デフォルトの名無しさん
18/02/11 18:27:35.09 cqxb7NMTM.net
学校の環境がemacsなんだろ
マクロ使ってたら他じゃ実行できないじゃん
378:デフォルトの名無しさん
18/02/11 18:29:45.08 /hLQhQLG0.net
コマンドでやればいいだけだろ(笑)
わざわざlinux入れる労力 w
379:デフォルトの名無しさん
18/02/11 18:32:58.32 TT4/yggk0.net
Linux側で仕事してるヤツ、羽振りはいいけどいつもイライラしてるね
380:デフォルトの名無しさん
18/02/11 18:43:35.08 NBX6x1Ctd.net
Emacs使いたがるやつは医者に診てもらえっていってたのはStackOverflowの中の人だっけ
381:デフォルトの名無しさん
18/02/11 18:46:48.49 QgiY6BS8M.net
学生は講義毎に環境が違うから面倒くさいよな
382:デフォルトの名無しさん
18/02/11 18:48:12.99 NBX6x1Ctd.net
これだこれw
URLリンク(nickcraver.com)
383:ment-2016-edition/#the-human-steps
384:恥人
18/02/11 18:50:27.31 .net
うげぇ
英語ばっかで読む気失せる
385:デフォルトの名無しさん
18/02/11 18:50:47.92 cqxb7NMTM.net
誰だって今だったらemacs何か使うなよって思うわ
vscodeとか使ったほうがいい
でもそれが条件なんだから仕方がない
winsowsにcygwinやMinGWやMSYS入れるのは環境が汚れるだけ
git for winとバッティングするし
386:デフォルトの名無しさん
18/02/11 19:09:21.72 bT0HWvJB0.net
>>371
path を適当に走査するだけで、なんとでもなるのでは?
387:デフォルトの名無しさん
18/02/11 19:09:40.61 NBX6x1Ctd.net
>>370
この人、twitterでもMicrosoftの中の人たちにしょっちゅう議論ふっかけてておもろいよ
388:デフォルトの名無しさん
18/02/12 07:43:05.41 z/E2YHwX0.net
1) StudentName student1 = new StudentName("Craig", "Playstead");
2) StudentName student2 = new StudentName
{
FirstName = "Craig",
LastName = "Playstead",
};
1)、2)初期化方法だけど、これってどっちもインスタンスを二つ作ってるよな。
上の方はstudent1というインスタンスを作ってさらにnewでインスタンスを作ってコピーしてる。
C#って初期化するのにインスタンスをわざわざ余分に作らないと初期化できないわけ?
無駄って感じがするが、、
389:デフォルトの名無しさん
18/02/12 08:03:22.38 RBv9+MyJa.net
>>374
まずは入門書を一通り終えよう
話はそれからだ
390:デフォルトの名無しさん
18/02/12 08:07:58.06 z/E2YHwX0.net
class Program
{
static void Main(string[] args)
{
Person p1, p2;
p1 = new Person(); // 引数なしのコンストラクタ
p2 = new Person("太田隆", 29); // 引数ありのコンストラクタ
p1.Name = "斉藤花子";
p1.Age = 18;
p1.showDatas();
p2.showDatas();
}
}
こういう例でもさ、p1,p2って最初は空っぽでNew Person()で初めて実のあるものを作って渡すのかと思っていたら
P1、P1を宣言したときから実がはいってる。つまり実体ができている。それでnewでまた実を再度作って、代入してるんだね。
だとするとこのプログラムは酷い例だよな。p1.Name = "斉藤花子";をするためには p1 = new Person();これは意味がない。
Person p1;で既にコンストラクタは実行されてるんだろ。なんでp1=new Person();なんてやるんだよw
391:デフォルトの名無しさん
18/02/12 08:12:23.91 z/E2YHwX0.net
>まずは入門書を一通り終えよう 話はそれからだ
間違いだらけの入門書。w
376をみてみなよ。
392:デフォルトの名無しさん
18/02/12 08:16:29.77 cgPx9lSf0.net
>>376
変数とnewで両方という意味ならインスタンスは片方でしか作っていない
参照型(クラス)の変数は実質ポインタなのでnewで作られた実体への参照が入る
値型(構造体)は変数を実体として(アドレスが参照され)newでコンストラクタを呼び出す
変数宣言だけでは参照型はnullだし、値型は領域確保だけでコンストラクタは呼び出されていない
393:デフォルトの名無しさん
18/02/12 08:21:04.33 z/E2YHwX0.net
そんなことはないよ。
クラスPersonにpublic static int id =0;をいれて
Person(){ ++id;} のようにコンストラクタでインスタンス生成ごとにidをインクリメント
してみたら見事に2つインクリントしてる。だから君も勘ちがいしてる。
394:デフォルトの名無しさん
18/02/12 08:32:41.72 z/E2YHwX0.net
ん? 俺の勘ちがいが勘ちがいだったのか?
395:デフォルトの名無しさん
18/02/12 08:38:01.41 nCVnsVXOa.net
偉そうな馬鹿だな
396:デフォルトの名無しさん
18/02/12 08:41:37.26 nCVnsVXOa.net
しっかりとした入門書をよめばいいのに
397:デフォルトの名無しさん
18/02/12 08:48:25.35 F98UmXeX0.net
MSDNへのリンクでも貼ってやれよ
398:デフォルトの名無しさん
18/02/12 08:51:04.12 nCVnsVXOa.net
それとも入門書には書いてあるけど読めてないだけか?
399:デフォルトの名無しさん
18/02/12 08:52:33.51 F98UmXeX0.net
msdnじゃないけど
ぐぐったら
400:出てきた http://www.atmarkit.co.jp/ait/spv/0209/04/news001.html
401:デフォルトの名無しさん
18/02/12 08:53:19.49 kFYq0atR0.net
なんだ今日もバカの日記帳か?
変数宣言の時点で中身があるなら値型である
しかし値型なら引数無しコンストラクタは定義できない
そもそも日記帳の中身が破綻しとるw
402:デフォルトの名無しさん
18/02/12 08:58:38.18 z/E2YHwX0.net
>>378
public class Person
{
public static int id = 0;
public string name;
public int age;
public Person() { ++id; name = "non"; age = 100; Debug.Print("PersonIdcount =" + id.ToString()); }
}
Person aaa;
Person bbb = new Person ();
Person ccc = new Person {name = "bbb",age = 25};
めんごーー、いま確認してみたらインスタンスはこれで2つしかできてない。先生がただしい。入門書はまあ正しかった。w
403:デフォルトの名無しさん
18/02/12 09:05:28.85 nCVnsVXOa.net
>>387
お前は入門書を映像として見てはいるけど
内容は理解してないんだよ
だから毎日トンチンカンな内容なレスをしてる
何度でも読み返して理解してから来いよ
404:デフォルトの名無しさん
18/02/12 09:27:01.70 z/E2YHwX0.net
ん? 387のどこが頓珍漢なのだ? 君の説明よりもかなり説得力があると思うが、、、
というのもインスタンスが生成され、その個数をカウントして実際に確認できている。
そういう厳然とした証拠が添付されている。
しかも実際に実行できるコードが添付されている。w
405:デフォルトの名無しさん
18/02/12 09:28:32.99 nCVnsVXOa.net
言われてることも理解できないんだよなあ…
406:デフォルトの名無しさん
18/02/12 09:31:17.80 nCVnsVXOa.net
>>389
その前にお前は何歳なんだ?
昭和の香りのする口ぶりや全角数字句読点からしたら55~65歳ぐらいだな
でも言ってることは小学生レベル
407:デフォルトの名無しさん
18/02/12 09:49:15.19 fQpoXnex0.net
すべて自演の書き込みだったりして
408:デフォルトの名無しさん
18/02/12 10:06:43.72 f+qeQBRN0.net
>>392
固定回線と携帯回線だしその線は高そう
409:デフォルトの名無しさん
18/02/12 10:08:20.29 p1yPqW7I0.net
まあ普通の人はデフォルト動作など信頼せずに組むのがお薦めだね
勘違いでエライ目に逢う
410:デフォルトの名無しさん
18/02/12 11:23:46.31 1LSHehibM.net
c#8.0になったら超大型破壊的変更がくるけどどうすんのかね
影響はこれまでのほぼ全てのソースに及ぶ
411:デフォルトの名無しさん
18/02/12 11:28:08.65 GfEZnF0r0.net
>>395
null非許容参照型のことを言ってるんなら、それは的外れ
412:デフォルトの名無しさん
18/02/12 11:31:49.01 sATukCOa0.net
C#っていうのはC言語に何らかの拡張を加えた言語って認識であってる?
413:デフォルトの名無しさん
18/02/12 11:33:23.17 1LSHehibM.net
>>396
これまでのソースに手作業で!をつけまくらないといけないんだけど