「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part137
https://mevius.5ch.net/test/read.cgi/tech/1523004019/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part138
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 369a-msj4)
2018/06/05(火) 19:32:42.28ID:70UTtyrn036デフォルトの名無しさん (ブーイモ MMeb-lRLg)
2018/06/07(木) 19:28:36.25ID:6Ugs28PiM >>27
行数表示してないのかよw
行数表示してないのかよw
37デフォルトの名無しさん (ワッチョイ 897f-LHz9)
2018/06/07(木) 19:55:09.68ID:GcMnTqlg0 コントロールが表示されないのですがなぜでしょう
Microsoft.Toolkit.Win32.UI.Controls.WinForms.WebView wv = new Microsoft.Toolkit.Win32.UI.Controls.WinForms.WebView();
wv.Dock = DockStyle.Fill;
this.Controls.Add(wv);
wv.Navigate("http://www.yahoo.co.jp/");
Microsoft.Toolkit.Win32.UI.Controls.WinForms.WebView wv = new Microsoft.Toolkit.Win32.UI.Controls.WinForms.WebView();
wv.Dock = DockStyle.Fill;
this.Controls.Add(wv);
wv.Navigate("http://www.yahoo.co.jp/");
38デフォルトの名無しさん (アウアウカー Sa2d-yORj)
2018/06/07(木) 21:20:31.87ID:aqK3UKBIa >>35
アンマネージなシステムリソースを確実に解放するときに使うよ
アンマネージなシステムリソースを確実に解放するときに使うよ
39デフォルトの名無しさん (ワッチョイ 09c3-Ihiv)
2018/06/07(木) 21:25:32.22ID:HziEaPXa0 どういう考え方をすればできるようになるんだよ!教えろお前ら!!ホラホラホラホラ!!!!
40デフォルトの名無しさん (ワッチョイ eb81-lRLg)
2018/06/07(木) 21:27:36.16ID:8RMVvRLY0 プロセスゾンビを確実にkillするにはどうすればよい?
41デフォルトの名無しさん (ワッチョイ b1b5-pwhw)
2018/06/07(木) 21:43:03.21ID:muNvrUxm0 シャットダウン
42デフォルトの名無しさん (バットンキン MM53-9WTg)
2018/06/08(金) 12:54:30.79ID:ZXhSx/U8M kill -9 プロセス番号
43デフォルトの名無しさん (ワッチョイ a98a-Duqg)
2018/06/08(金) 12:54:58.48ID:sQqhvtlW0 init 0
44デフォルトの名無しさん (オイコラミネオ MMb5-GLBR)
2018/06/08(金) 13:08:29.19ID:CYBBWkiVM >>17
私は { は単独にしない派ですね。
理由は、少しでも多く画面内にソースを表示して見通しやすくするためと、昔からの Basicの名残で、ifなら thenに相当する { は行末。endifの } は単独という位置づけですね。
今はideの進化で { } のペアの書き忘れがほとんどないというのもあるかな。
私は { は単独にしない派ですね。
理由は、少しでも多く画面内にソースを表示して見通しやすくするためと、昔からの Basicの名残で、ifなら thenに相当する { は行末。endifの } は単独という位置づけですね。
今はideの進化で { } のペアの書き忘れがほとんどないというのもあるかな。
45デフォルトの名無しさん (ワッチョイ 137f-6+Fv)
2018/06/08(金) 14:44:00.50ID:6WR6CtyO0 >>37
試してないけど、対応OSで実行してないとか?
試してないけど、対応OSで実行してないとか?
46デフォルトの名無しさん (スップ Sd73-fSec)
2018/06/08(金) 15:03:45.94ID:QSVDv9Gwd >>44
その言語の流儀に素直に従った方がいいんじゃないかと
その言語の流儀に素直に従った方がいいんじゃないかと
47デフォルトの名無しさん (ワッチョイ 1311-V68u)
2018/06/08(金) 16:55:43.13ID:3Fn0oPLQ0 流儀に従うなら、どっちでもいい、では?
48デフォルトの名無しさん (ワッチョイ d360-X4KX)
2018/06/08(金) 17:50:11.32ID:wbtEeseM0 int c = 5;
for(c = 1; c < 61; c++)
{
//処理
}
Console.WriteLine(c.ToString());
これで一番最後でCが62になるのですが
C<61の判定後でも++のインクリメントは行われているってことでいいのですか?
for(c = 1; c < 61; c++)
{
//処理
}
Console.WriteLine(c.ToString());
これで一番最後でCが62になるのですが
C<61の判定後でも++のインクリメントは行われているってことでいいのですか?
49デフォルトの名無しさん (ワッチョイ eb9a-DGJA)
2018/06/08(金) 17:59:23.80ID:3yCOErp0050デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/08(金) 18:02:38.49ID:SrLrQXUUa51デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/08(金) 18:11:11.09ID:SrLrQXUUa つーか、この程度の検証もせずに他人に質問を投げる神経が分からんマジで
52デフォルトの名無しさん (スップ Sd73-fSec)
2018/06/08(金) 18:35:49.98ID:QSVDv9Gwd >>47
パブリックなAPIかそうでないかによって違う
パブリックなAPIかそうでないかによって違う
53デフォルトの名無しさん (ワッチョイ 897f-4qwh)
2018/06/08(金) 19:21:59.01ID:TU3718TC0 >>45
OSのバージョンは問題なさそうなんですよね。
OSのバージョンは問題なさそうなんですよね。
54デフォルトの名無しさん (ワッチョイ 1311-V68u)
2018/06/09(土) 10:20:18.22ID:iRP9QLJz055デフォルトの名無しさん (ワッチョイ 13b3-3s1o)
2018/06/09(土) 11:11:10.00ID:3S5Pjg6F0 構造化制御文はインデントされた行を1行と1行、例えば if (a == b) { と } で挟むのが、
パッと見たとき一体に見えて分かりやすい。{ を単独行にすると、{ と } で挟まれた
無名ブロックがあって、その上に構造的に無関係な1行のif文があるように見えてしまう。
もう少しじっくり見れば、行末の ; の有無で下のブロックとの関係を判別できるが、
その一瞬の認知の遅れに違和感を覚え、もっとはっきり言えばキモいコードだと思う。
同じ理由で、条件が真のときの文が1つの場合の
if (a == b)
c = d;
e = f;
のようなスタイルもキモいし、Pythonの
if a = b:
c = d
e = f
g = h
はもっとキモくて、まさに蛇蝎のように嫌いだ。
関数・メソッド定義と制御文の見分けという観点からも、前者は
int func(int arg)
{
後者は
if (cond) {
で始めて、( の前のスペースの有無と { の前の改行の有無のどちらでも前者と後者で
違いをつけた方が、すんなりと見分けられて良い。
パッと見たとき一体に見えて分かりやすい。{ を単独行にすると、{ と } で挟まれた
無名ブロックがあって、その上に構造的に無関係な1行のif文があるように見えてしまう。
もう少しじっくり見れば、行末の ; の有無で下のブロックとの関係を判別できるが、
その一瞬の認知の遅れに違和感を覚え、もっとはっきり言えばキモいコードだと思う。
同じ理由で、条件が真のときの文が1つの場合の
if (a == b)
c = d;
e = f;
のようなスタイルもキモいし、Pythonの
if a = b:
c = d
e = f
g = h
はもっとキモくて、まさに蛇蝎のように嫌いだ。
関数・メソッド定義と制御文の見分けという観点からも、前者は
int func(int arg)
{
後者は
if (cond) {
で始めて、( の前のスペースの有無と { の前の改行の有無のどちらでも前者と後者で
違いをつけた方が、すんなりと見分けられて良い。
>>55
if (cond) {
}
と書くのだったら、関数の場合も
int func(int arg) {
}
とするのが統一がとれていいんじゃない?なぜ関数と if 文とで書き分けるのか、その理由がわからない
if (cond) {
}
と書くのだったら、関数の場合も
int func(int arg) {
}
とするのが統一がとれていいんじゃない?なぜ関数と if 文とで書き分けるのか、その理由がわからない
57デフォルトの名無しさん (ワッチョイ 81b3-9mJg)
2018/06/09(土) 11:40:22.30ID:kOHnqaQt0 その自己主張要る?
58デフォルトの名無しさん (ワッチョイ 81b3-9mJg)
2018/06/09(土) 11:41:04.90ID:kOHnqaQt059デフォルトの名無しさん (ワッチョイ ebc9-LHz9)
2018/06/09(土) 11:42:25.58ID:4y2IVpvw0 メソッドとif文に差付けなくてもインデント違う時点で判別付くんじゃないのか
と思ったが、ローカル関数出てきたんだっけか
と思ったが、ローカル関数出てきたんだっけか
60デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 12:02:32.41ID:54mp5fzVM if (cond) statement;
if (cond) call();
if (notcond) return;
statement;
statement;
statement;
{}がなくても見やすいね
if (cond) call();
if (notcond) return;
statement;
statement;
statement;
{}がなくても見やすいね
61デフォルトの名無しさん (ワッチョイ 13b3-3s1o)
2018/06/09(土) 12:03:48.88ID:3S5Pjg6F062デフォルトの名無しさん (ワッチョイ 13b3-3s1o)
2018/06/09(土) 12:05:40.33ID:3S5Pjg6F0 >>60
1行if文は否定しないし、自分自身も割とよく使うよ。
1行if文は否定しないし、自分自身も割とよく使うよ。
>>61
pascal に習う必要はないと思いますが…なぜ pascal を持ち出してきたのでしょうか?
私は関数と if/for/while を別にする必要性はないと思っています
{
}
とかスペースの無駄にみえてしまいます
pascal に習う必要はないと思いますが…なぜ pascal を持ち出してきたのでしょうか?
私は関数と if/for/while を別にする必要性はないと思っています
{
}
とかスペースの無駄にみえてしまいます
64デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 12:23:56.94ID:54mp5fzVM 構造がクリーンなコードを心がければ自然と{}を使わないコードになる
まあ俺から言わせてもらうと{}は綺麗なコードが浮かばない時に仕方なく使う苦肉の策ってところだね
まあ俺から言わせてもらうと{}は綺麗なコードが浮かばない時に仕方なく使う苦肉の策ってところだね
65デフォルトの名無しさん (ワッチョイ 13b3-3s1o)
2018/06/09(土) 12:43:14.79ID:3S5Pjg6F0 >>63
Pascalの悪い所、例えば条件を ( ) で囲まないので条件が目立たないのは真似する
必要はないが、良い所は参考にすべきだろう。C#は開発主導者がTurbo Pascalの
作者だったこともあり、Pascalからもいくらかの影響を受けていて、赤の他人ではない。
関数と制御文は機能が違うし、関数の方がより大きなブロックだから、書き分けた方が
すんなり読める。自然言語で小さな区切りには , を、大きな区切りには ; を使って
書き分けるのに似ている。あるいは章や節の見出しのスタイルに視覚的な差を
つけるようなもの。
Pascalの悪い所、例えば条件を ( ) で囲まないので条件が目立たないのは真似する
必要はないが、良い所は参考にすべきだろう。C#は開発主導者がTurbo Pascalの
作者だったこともあり、Pascalからもいくらかの影響を受けていて、赤の他人ではない。
関数と制御文は機能が違うし、関数の方がより大きなブロックだから、書き分けた方が
すんなり読める。自然言語で小さな区切りには , を、大きな区切りには ; を使って
書き分けるのに似ている。あるいは章や節の見出しのスタイルに視覚的な差を
つけるようなもの。
67デフォルトの名無しさん (ワッチョイ 13d2-fSec)
2018/06/09(土) 13:02:16.97ID:ufdIEzvk068デフォルトの名無しさん (ワッチョイ b1b5-pwhw)
2018/06/09(土) 13:06:52.76ID:oQlrsJoz0 改行コードが構文に影響を与えない言語仕様なんだから、好きにすればいいんだよ。
69デフォルトの名無しさん (ワッチョイ 0b33-T1fc)
2018/06/09(土) 13:12:22.07ID:Tjb3C0On0 pascal流はマジキモイな
func() {
}
if () {
}
else {
}
が一番利に適ってる
func() {
}
if () {
}
else {
}
が一番利に適ってる
70デフォルトの名無しさん (ブーイモ MM33-EqDK)
2018/06/09(土) 13:27:36.34ID:VOfp/P7BM これ以上続けても宗教の違いみたいな話で
なにも建設的なハナシにはならないからここらで終わりにしておけば?
なにも建設的なハナシにはならないからここらで終わりにしておけば?
71デフォルトの名無しさん (ワッチョイ ebc9-LHz9)
2018/06/09(土) 13:29:19.91ID:4y2IVpvw0 いくら議論したところで、お仕事なら我が社のコーディング規約で終わっちゃう話だしな
72デフォルトの名無しさん (オッペケ Srdd-HQUw)
2018/06/09(土) 14:24:17.49ID:fpkuA4ugr どうでもいいしキモい
73デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/09(土) 14:27:26.20ID:DBY1R4Jva この手の嗜好がただの慣れと思い込みにすぎないっていい歳こいて気付かない人は
プログラマとしてかなり筋が悪いと思うw
たぶん知能もあんまり高くないw
2週間も違う書式で作業してたらすっかりそっちが「普通」になるw
人間なんてそんなもの。
これフォントにも言えるね
プログラマとしてかなり筋が悪いと思うw
たぶん知能もあんまり高くないw
2週間も違う書式で作業してたらすっかりそっちが「普通」になるw
人間なんてそんなもの。
これフォントにも言えるね
>>70
泥仕合にならないかぎり、意義があると思っています、これから泥仕合になるのかもしれませんが…
泥仕合にならないかぎり、意義があると思っています、これから泥仕合になるのかもしれませんが…
75デフォルトの名無しさん (ワッチョイ 13b3-Chll)
2018/06/09(土) 14:28:44.98ID:d5fCz/GJ0 エディタとコーディングスタイルの話はしないのが紳士のたしなみ
76デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/09(土) 14:39:18.62ID:54mp5fzVM77デフォルトの名無しさん (ワッチョイ 137f-6+Fv)
2018/06/09(土) 15:20:12.02ID:JwKFPqLV078デフォルトの名無しさん (ワッチョイ eb81-XZeD)
2018/06/09(土) 15:35:33.03ID:a58WBe6r0 >>75
よい習慣をお持ちですね。素晴らしい
よい習慣をお持ちですね。素晴らしい
79デフォルトの名無しさん (ワッチョイ 1981-DGJA)
2018/06/11(月) 12:25:35.64ID:6xD/x26k0 VisualStudio2017 でコンソールアプリケーションを作っています。
System.Windows.Forms.Clipboardクラスを使いたいのですが
ビルドの設定をReleaseにしているとエラーはでないのに
Debugにすると FormsがSystem.Windowsに存在しないといわれてしまいます。
(アセンブリ参照はしています)
どなたか原因分かる方いないでしょうか。
https://i.imgur.com/sgkx4HK.png
https://i.imgur.com/Tr2VkYB.png
System.Windows.Forms.Clipboardクラスを使いたいのですが
ビルドの設定をReleaseにしているとエラーはでないのに
Debugにすると FormsがSystem.Windowsに存在しないといわれてしまいます。
(アセンブリ参照はしています)
どなたか原因分かる方いないでしょうか。
https://i.imgur.com/sgkx4HK.png
https://i.imgur.com/Tr2VkYB.png
80デフォルトの名無しさん (スッップ Sd33-fSec)
2018/06/11(月) 12:35:57.40ID:bN46fGFrd >>79
csprojファイル晒して
csprojファイル晒して
8179 (ワッチョイ 1981-DGJA)
2018/06/11(月) 13:13:19.40ID:6xD/x26k082デフォルトの名無しさん (ワッチョイ eb96-LHz9)
2018/06/11(月) 21:03:57.62ID:TLX2q1MD0 フォームアプリで画面の真ん中に線を引きたいと思って単純に
(System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height)/2
のところに線を挽けばいいと思ったんですが、モニタのピクセルの半分のところに線を引くと
フォームの上の -□× のあるバーの下から0ピクセルになるから20ピクセルほどが下にずれてしまいます。
フォームの中央に線を引く方法ってないでしょうか?
(System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height)/2
のところに線を挽けばいいと思ったんですが、モニタのピクセルの半分のところに線を引くと
フォームの上の -□× のあるバーの下から0ピクセルになるから20ピクセルほどが下にずれてしまいます。
フォームの中央に線を引く方法ってないでしょうか?
83デフォルトの名無しさん (ササクッテロラ Spdd-pwhw)
2018/06/11(月) 21:10:24.16ID:hXpDig4+p 枠無しフォームでやれ。
84デフォルトの名無しさん (ワッチョイ eb9a-DGJA)
2018/06/11(月) 21:11:16.03ID:R9cSput30 >>82
フォームの中央なのか画面の中央なのかまずはっきりしてくれ
スクリーン座標←→クライアント座標の変換を行うには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/377screentoclient/screentoclient.html
フォームの中央なのか画面の中央なのかまずはっきりしてくれ
スクリーン座標←→クライアント座標の変換を行うには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/377screentoclient/screentoclient.html
85デフォルトの名無しさん (ワッチョイ 8917-LHz9)
2018/06/11(月) 21:12:11.98ID:aKalcs2L0 フォームの中央なのかディスプレイの中央なのかどっちだよ
86デフォルトの名無しさん (ワッチョイ eb96-LHz9)
2018/06/11(月) 21:44:14.69ID:TLX2q1MD0 自分でもどっちでいいかわからなくなったw
最初単純にフォーム最大化してるんだから、モニタの真ん中が真ん中だろと思ったら、
windowsって下にタスクバーあるわ、モニタの下に非表示領域20ピクセルほど隠れてるわ、フォームにフォームバーあるわで、
モニタの真ん中が真ん中に見えない。
たぶん無意識化でフォームの真ん中が人は真ん中と認識しているので気持ち悪い。
ということでフォームの真ん中にしました。
最初単純にフォーム最大化してるんだから、モニタの真ん中が真ん中だろと思ったら、
windowsって下にタスクバーあるわ、モニタの下に非表示領域20ピクセルほど隠れてるわ、フォームにフォームバーあるわで、
モニタの真ん中が真ん中に見えない。
たぶん無意識化でフォームの真ん中が人は真ん中と認識しているので気持ち悪い。
ということでフォームの真ん中にしました。
87デフォルトの名無しさん (ワッチョイ 13d2-fSec)
2018/06/11(月) 22:15:41.36ID:kexbIBuK0 >>86
タスクバーの位置なんて自由に変えられるんだけど
タスクバーの位置なんて自由に変えられるんだけど
88デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/11(月) 22:24:08.10ID:xa0hP702a >モニタの下に非表示領域20ピクセルほど隠れてるわ
そんなものはないと思うけど...
今時CRT使っててオーバースキャン表示でもやってるなら別かもしれんけどw
そんなものはないと思うけど...
今時CRT使っててオーバースキャン表示でもやってるなら別かもしれんけどw
89デフォルトの名無しさん (ワッチョイ 0b33-T1fc)
2018/06/11(月) 22:37:51.73ID:VLKc0T550 フォームバーってタイトルバーのことかな
非クライアント領域もあるぞ
非クライアント領域もあるぞ
90前スレ976 (ブーイモ MMeb-tDoJ)
2018/06/12(火) 07:25:05.60ID:qsxFIdydM どうにかイベントを発生させることができました。ここから5バイトの受信データを分解して処理を分岐したいんですが、どのような手法、便利な関数がありますでしょうか。
オペコード1バイト+データ4バイトという形式です。データは4バイトで表現する数値だったり、1ビットごとのフラグだったりします。
昔ながらのswich~caseで分岐って使うんでしょうか
オペコードが増えたり、データの予約ビットが変わると変更が大変そうです
オペコード1バイト+データ4バイトという形式です。データは4バイトで表現する数値だったり、1ビットごとのフラグだったりします。
昔ながらのswich~caseで分岐って使うんでしょうか
オペコードが増えたり、データの予約ビットが変わると変更が大変そうです
91デフォルトの名無しさん (アウアウウー Sad5-BJSQ)
2018/06/12(火) 08:46:58.51ID:awfOgDQGa switchでいいよ
たかがイベント一個作るのに何日もかかるようなレベルで今どんな凝った設計しようが、結局後で全部やり直しになる
今は余計な手間をかけないこと、シンプルに保つこと、それだけ考えてりゃいい
たかがイベント一個作るのに何日もかかるようなレベルで今どんな凝った設計しようが、結局後で全部やり直しになる
今は余計な手間をかけないこと、シンプルに保つこと、それだけ考えてりゃいい
92デフォルトの名無しさん (ワッチョイ a98a-Duqg)
2018/06/12(火) 08:51:11.88ID:l+dIOx6V0 デバイスドライバーみたいに処理をチェーンさせるってのもあり
93デフォルトの名無しさん (ブーイモ MM05-BJSQ)
2018/06/12(火) 09:12:16.14ID:HMj9ZmCFM スクリプト言語のインタプリタなんかでも巨大switchが普通だぞ
断言するが、先を見通せない状況でヘタにコマンドパターンとか入れても、後で横断的な変更が多発して
すべてのコマンドクラスに手を入れて回るアホみたいな作業に追われることになるだけ
断言するが、先を見通せない状況でヘタにコマンドパターンとか入れても、後で横断的な変更が多発して
すべてのコマンドクラスに手を入れて回るアホみたいな作業に追われることになるだけ
94デフォルトの名無しさん (ワッチョイ 1311-V68u)
2018/06/12(火) 10:49:11.67ID:Blmm4zE90 コード増加はともかく予約を変更すんな・・・
95デフォルトの名無しさん (アウアウエー Sa23-SCrG)
2018/06/12(火) 11:04:17.10ID:O2DKnY7ra >>90
どっちにしろ「便利な関数なんかないでしょうw
ちっとも汎用的じゃない処理をエレガントに書く方法なんか用意されてるはずがないw
泥臭い物は泥臭く書くしかないかと
オペコードがそれ以上分解できない前提で
(1) オペコードをenumにキャストしてswith、でも
(2) ジャンプテーブル(デリゲートの配列)を使う、でもお好みで
もし仮に受信するデータが常にこちらから要求したデータである、
つまり、どういうデータが送信されてくることをこちら側が期待しているか事前に分かっている場合は
別の方法論もあると思う
その場合はこちらがリクエストを出す段階で、期待する種類のデータだけを読解できるオブジェクトを
生成してタイムアウト付きで待機させればいい
どっちにしろ「便利な関数なんかないでしょうw
ちっとも汎用的じゃない処理をエレガントに書く方法なんか用意されてるはずがないw
泥臭い物は泥臭く書くしかないかと
オペコードがそれ以上分解できない前提で
(1) オペコードをenumにキャストしてswith、でも
(2) ジャンプテーブル(デリゲートの配列)を使う、でもお好みで
もし仮に受信するデータが常にこちらから要求したデータである、
つまり、どういうデータが送信されてくることをこちら側が期待しているか事前に分かっている場合は
別の方法論もあると思う
その場合はこちらがリクエストを出す段階で、期待する種類のデータだけを読解できるオブジェクトを
生成してタイムアウト付きで待機させればいい
96デフォルトの名無しさん (ワントンキン MM53-7qxP)
2018/06/12(火) 12:12:37.91ID:yJ6G/fgzM97デフォルトの名無しさん (ササクッテロ Spdd-rXIk)
2018/06/12(火) 14:41:16.06ID:dH3jUIiRp それより、データの先頭を識別できるフォーマットにしたか?
98デフォルトの名無しさん (ワッチョイ 53c3-jpFx)
2018/06/12(火) 15:40:05.30ID:wFgJsw9E0 固定長なら先頭コード種類分のデリゲートを割り付けるってのもあるが、こればっかしは好みだな。
99前スレ976 (ブーイモ MMeb-tDoJ)
2018/06/12(火) 20:18:08.93ID:qsxFIdydM ありがとうございます。
ベタベタに書いてみます。
1バイトが1ビットごとのフラグになっている場合はビットマスクで一つずつ抽出するのが一般的でしょうか?
ベタベタに書いてみます。
1バイトが1ビットごとのフラグになっている場合はビットマスクで一つずつ抽出するのが一般的でしょうか?
100デフォルトの名無しさん (ワッチョイ 9361-6Jh4)
2018/06/13(水) 22:29:58.82ID:T96Fk9Se0 SQLについて質問ですが
INSERT INTO T_USER (
ID, PASSWORD
) VALUES (
@ID, @PASSWORD
);
のINSERT分を
INSERT INTO T_USER (
ID = @ID,
PASSWORD = @PASSWORD
);
のように書く場合はどのようにしたらよいでしょうか。
INSERT INTO T_USER (
ID, PASSWORD
) VALUES (
@ID, @PASSWORD
);
のINSERT分を
INSERT INTO T_USER (
ID = @ID,
PASSWORD = @PASSWORD
);
のように書く場合はどのようにしたらよいでしょうか。
101デフォルトの名無しさん (ワッチョイ 8917-LHz9)
2018/06/13(水) 22:33:15.48ID:8SXHgjst0 スレチ
102デフォルトの名無しさん (ワッチョイ e9e3-HWv4)
2018/06/13(水) 22:40:13.78ID:dwe0uTDh0 そういうメソッド作ったらいいじゃん
setInsert(new dictionary略);
みたいなの
setInsert(new dictionary略);
みたいなの
103デフォルトの名無しさん (ワッチョイ c68a-3+MO)
2018/06/14(木) 08:40:57.01ID:tUkyOm+Z0 クラスの構造体(ただint型のデータが複数個しかない)をXMLに変換したいのだが
XMLSerializer以外に何かないかな?
XMLSerializerは以前にバグを起こしたことがあって使いたくないんだ
XMLSerializer以外に何かないかな?
XMLSerializerは以前にバグを起こしたことがあって使いたくないんだ
104デフォルトの名無しさん (ワッチョイ c211-jgxh)
2018/06/14(木) 09:14:05.32ID:o3acK5Uh0 >>100
UPDATEじゃないんだから・・・
UPDATEじゃないんだから・・・
105デフォルトの名無しさん (ラクッペ MM61-h/p3)
2018/06/14(木) 09:54:39.43ID:A8NrLUZ4M クラスの構造体…?
106デフォルトの名無しさん (ワッチョイ 42a4-/RsH)
2018/06/14(木) 11:31:35.89ID:/+f4Bre90 >>103
全手動
全手動
107デフォルトの名無しさん (ワッチョイ 2260-BQKd)
2018/06/14(木) 12:02:09.33ID:cv0ACSdK0 最終的に配列を書きだしたいのですが
それまでに色んなクラスのインスタンスからその配列の読み書きがされるのですが
どういうふうにクラスを作ればいいですか?
その配列はグローバルでstaticで宣言するか、インスタンス作るごとに参照を引き渡すのですか?
それまでに色んなクラスのインスタンスからその配列の読み書きがされるのですが
どういうふうにクラスを作ればいいですか?
その配列はグローバルでstaticで宣言するか、インスタンス作るごとに参照を引き渡すのですか?
108デフォルトの名無しさん (ブーイモ MMb6-OAOp)
2018/06/14(木) 13:20:39.46ID:NMzxKZ+IM >>107
日本語でおk
日本語でおk
109デフォルトの名無しさん (ブーイモ MM62-l11B)
2018/06/14(木) 14:19:07.38ID:KBTpBKAkM110デフォルトの名無しさん (ササクッテロ Spf1-8opj)
2018/06/14(木) 15:31:16.28ID:fa4YRdZnp アクセス関数を作ってインスタンス取得用に一つスタティック関数を用意するだけ。
アクセス関数介さないと、排他処理とかいちいち入れるの面倒だぞ。
アクセス関数介さないと、排他処理とかいちいち入れるの面倒だぞ。
111デフォルトの名無しさん (スプッッ Sd61-3+MO)
2018/06/14(木) 17:22:37.66ID:Omv9hEYDd 初歩的な質問なんだけど
プロパティ?(get;set;)ついてるやつと、ついていないやつの差がわからないから教えてほしい
プロパティつけててもprivateはアクセスできないみたいだから
結局、両方ともpublicになって何が違うん?ってなってる
プロパティ?(get;set;)ついてるやつと、ついていないやつの差がわからないから教えてほしい
プロパティつけててもprivateはアクセスできないみたいだから
結局、両方ともpublicになって何が違うん?ってなってる
112デフォルトの名無しさん (ワッチョイ 2e9a-gvEZ)
2018/06/14(木) 17:40:33.14ID:T0JMmz9y0 >>111
プロパティにするとメソッドを組み込めたりgetとsetでアクセスレベル変えられたり
あと取りあえずこの辺とか
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/properties
特定のソースで何が変わるの?って言う話なら書いた人に聞かないと分からない
プロパティにするとメソッドを組み込めたりgetとsetでアクセスレベル変えられたり
あと取りあえずこの辺とか
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/properties
特定のソースで何が変わるの?って言う話なら書いた人に聞かないと分からない
113デフォルトの名無しさん (アウアウウー Saa5-m0US)
2018/06/14(木) 17:41:27.02ID:im2Z0uooa クラスのメンバーでプロパティじゃない変数はフィールドと言う
フィールド (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/fields
プロパティ (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/properties
フィールドは代入も参照も同じ制限になる
プロパティは別々に設定できる
しかもgetだけ setだけというのも可能
フィールド (メンバ変数) とプロパティはここが違う
https://code.msdn.microsoft.com/windowsdesktop/5-5f828cde
フィールド (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/fields
プロパティ (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/properties
フィールドは代入も参照も同じ制限になる
プロパティは別々に設定できる
しかもgetだけ setだけというのも可能
フィールド (メンバ変数) とプロパティはここが違う
https://code.msdn.microsoft.com/windowsdesktop/5-5f828cde
114デフォルトの名無しさん (ワッチョイ d2eb-hrcC)
2018/06/14(木) 18:59:14.79ID:UejGuppF0 クラスのプロパティに「型」を変数みたいにおけますか?
外部から「型」をセットして、クラスの中でその型を使って new して実体を作って利用したいのです。
外部から「型」をセットして、クラスの中でその型を使って new して実体を作って利用したいのです。
115デフォルトの名無しさん (ワッチョイ d2eb-hrcC)
2018/06/14(木) 19:03:10.93ID:UejGuppF0 気持ちをコードで表すと
public class Test
{
public <T> PersonClass;
public void Unko()
{
var p = new PersonClass();
p.unko();
}
}
ってな感じです。
※PersonClass にメソッド unko() がある前提
public class Test
{
public <T> PersonClass;
public void Unko()
{
var p = new PersonClass();
p.unko();
}
}
ってな感じです。
※PersonClass にメソッド unko() がある前提
116デフォルトの名無しさん (スップ Sdc2-bwM/)
2018/06/14(木) 19:09:01.39ID:Cyktia16d117デフォルトの名無しさん (ワッチョイ 0699-pByW)
2018/06/14(木) 19:15:40.41ID:5YiZsxt70118デフォルトの名無しさん (アウアウエー Sa4a-jhA2)
2018/06/14(木) 19:19:58.23ID:w+8RUA83a119デフォルトの名無しさん (ワッチョイ 41da-4dYe)
2018/06/14(木) 19:26:49.09ID:dsNhKni40 >>99
enumにFlagsAttributeを付ける
[Flags]
enum Hoge : byte
{
Bit0 = 1 << 0,
Bit1 = 1 << 1,
Bit2 = 1 << 2,
Bit3 = 1 << 3,
Bit4 = 1 << 4,
Bit5 = 1 << 5,
Bit6 = 1 << 6,
Bit7 = 1 << 7,
}
var hoge = Hoge.Bit1 | Hoge.Bit4;
if ( hoge.HasFlag( Hoge.Bit3 ) )
{
enumにFlagsAttributeを付ける
[Flags]
enum Hoge : byte
{
Bit0 = 1 << 0,
Bit1 = 1 << 1,
Bit2 = 1 << 2,
Bit3 = 1 << 3,
Bit4 = 1 << 4,
Bit5 = 1 << 5,
Bit6 = 1 << 6,
Bit7 = 1 << 7,
}
var hoge = Hoge.Bit1 | Hoge.Bit4;
if ( hoge.HasFlag( Hoge.Bit3 ) )
{
120デフォルトの名無しさん (アウアウウー Saa5-l11B)
2018/06/14(木) 23:44:33.25ID:rYhQU2t8a >>119
そんな見てて痒くなる書き方しなくても今のC#は2進数リテラル使えるぞ
そんな見てて痒くなる書き方しなくても今のC#は2進数リテラル使えるぞ
121デフォルトの名無しさん (ワッチョイ 31b5-8opj)
2018/06/14(木) 23:56:40.66ID:9S9/LeJo0 1
2
4
8
16
32
64
128
でいいよ。
2
4
8
16
32
64
128
でいいよ。
122デフォルトの名無しさん (アウアウエー Sa4a-jhA2)
2018/06/15(金) 00:31:01.58ID:UuMD2cf2a >>119みたいなのならHexで書くのが一番だろうねw
少なくとも俺ならそうする
少なくとも俺ならそうする
123デフォルトの名無しさん (ブーイモ MM62-l11B)
2018/06/15(金) 01:23:47.16ID:hh/0fz+KM 10進よりマシだが一番ではない
2進があるならどう考えても2進が一番
2進があるならどう考えても2進が一番
124デフォルトの名無しさん (アウアウエー Sa4a-jhA2)
2018/06/15(金) 01:34:20.89ID:UuMD2cf2a 書いてみりゃ分かるよw
単に一つのビットだけ立っている値を列挙するなら2進リテラルは冗長過ぎる。
そもそも何のためにHexなんかあると思ってるの
2進リテラルっていうのは、例えば組み込みで7セグのパターンのテーブルを定義する時とか、
bit5-bit7みたいにニブル単位じゃないビット範囲のビットマスクを定義する時とかに使う
単に一つのビットだけ立っている値を列挙するなら2進リテラルは冗長過ぎる。
そもそも何のためにHexなんかあると思ってるの
2進リテラルっていうのは、例えば組み込みで7セグのパターンのテーブルを定義する時とか、
bit5-bit7みたいにニブル単位じゃないビット範囲のビットマスクを定義する時とかに使う
125デフォルトの名無しさん (ブーイモ MM62-l11B)
2018/06/15(金) 02:40:57.81ID:3RK99arqM 君にとってはCが頭に染み付いてるからそうかもしれないけど、
現に>>119にとっては分かりにくいからわざわざこんな書き方をしてるんだろう
今時のプログラマはC経験ない人も多いんだから実情に合わせることも必要
そういう連中を見下すのもいいけど老害呼ばわりされないように気をつけてね
現に>>119にとっては分かりにくいからわざわざこんな書き方をしてるんだろう
今時のプログラマはC経験ない人も多いんだから実情に合わせることも必要
そういう連中を見下すのもいいけど老害呼ばわりされないように気をつけてね
126デフォルトの名無しさん (アウアウエー Sa4a-jhA2)
2018/06/15(金) 03:02:28.24ID:UuMD2cf2a127デフォルトの名無しさん (アウアウエー Sa4a-jhA2)
2018/06/15(金) 03:07:31.98ID:UuMD2cf2a どーでもいいけど、こういう自分を客観視できない単細胞な奴がネトウヨとかなるんだろうね
128デフォルトの名無しさん (ワッチョイ ddc3-ttgq)
2018/06/15(金) 03:33:39.61ID:/sL5C1h/0 ネトウヨってつまりどういう定義なんですか
マンコ吸わせてくださいs
マンコ吸わせてくださいs
129デフォルトの名無しさん (ワッチョイ 2e81-h/p3)
2018/06/15(金) 06:19:02.91ID:9gOvrFZ50 5分かけて最後に煽っていくというだけで
自分が嫌ってるゴミと大差なくなっているというね
自分が嫌ってるゴミと大差なくなっているというね
130デフォルトの名無しさん (ドコグロ MM29-1Yxh)
2018/06/15(金) 07:16:26.72ID:Cd+XXhnVM 今どきビット演算なんてしてるやつはゴミ
131デフォルトの名無しさん (ドコグロ MM29-1Yxh)
2018/06/15(金) 07:16:57.07ID:Cd+XXhnVM これまで歩んだ人生がゴミ
132前スレ976 (ブーイモ MM62-C226)
2018/06/15(金) 07:27:20.01ID:A2l2tHW6M >>119
ありがとうございます
bitarrayってのがあるらしいんですけど、これって共用体とかに一括で代入できないんですかね
3バイトデータの内の下位1バイトは1bitごとのフラグなのでbitarrayで分解できそうなんですが
ありがとうございます
bitarrayってのがあるらしいんですけど、これって共用体とかに一括で代入できないんですかね
3バイトデータの内の下位1バイトは1bitごとのフラグなのでbitarrayで分解できそうなんですが
133デフォルトの名無しさん (ワッチョイ c211-jgxh)
2018/06/15(金) 09:16:33.32ID:rymWY0Tx0 そういえばちょっと疑問なんだけど、enum定義する時に>>119みたいにbyteとか指定するのは何か意味があるの?
指定したところでbyte型の変数に代入しようとしたらキャストしなきゃいけないし、やる意味がわからないんだけど
指定したところでbyte型の変数に代入しようとしたらキャストしなきゃいけないし、やる意味がわからないんだけど
134デフォルトの名無しさん (ワッチョイ 31b5-8opj)
2018/06/15(金) 09:22:49.39ID:BTgSia3a0 >>133
え?キャスト?
え?キャスト?
135デフォルトの名無しさん (ワッチョイ c211-jgxh)
2018/06/15(金) 09:45:21.99ID:rymWY0Tx0 >>134
え?
え?
136デフォルトの名無しさん (ワッチョイ 31b5-8opj)
2018/06/15(金) 10:04:23.68ID:BTgSia3a0 ああ、enumで作った型なんだからenum型になってるだろ。
受ける変数も同じ型じゃないとダメなのは当たり前。
受ける変数も同じ型じゃないとダメなのは当たり前。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【フジ】中居正広氏の代理人弁護士が第三者委員会報告に反論「性暴力の実態は確認できず」★9 [Ailuropoda melanoleuca★]
- 石破首相が「無策」批判に激怒 消費税減税めぐり指摘した野党議員に「あなた」呼ばわりで反論 [首都圏の虎★]
- 【田中圭との不倫報道】《憔悴の近影》永野芽郁、頬がこけ、目元を腫らして…移動時には“厳戒態勢”「事務所車までダッシュ」★3 [Ailuropoda melanoleuca★]
- 【芸能】スマイリーキクチ 永野芽郁への批判に警鐘 「清純派だと勝手に訳のわからない派閥に入れて」「イメージと違うと憤慨」 [冬月記者★]
- 中居正広氏 守秘義務解除を提案していた! 約6時間のヒアリングにも誠実に対応 ★2 [ひかり★]
- 政党支持率 自民26.4% 立民7.6% 国民7.2% 支持なし38.2% NHK世論調査 [少考さん★]
- ▶天音かなたとちゅーしたいよな
- 【悲報】27歳の妊婦をぶん殴った普通の日本人男性(42)を逮捕 [834922174]
- ミックスナッツに、1つ要らないの入ってるやろ?🥜 [629030525]
- 日産、日本から撤退へ [709039863]
- 【悲報】公務員の名札、本名とは別に「ビジネスネーム」OK カスハラ対策 [966044473]
- 長谷川亮太 ちばけんま 唐澤貴洋 無能弁護士