[過去ログ] ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(2): (ワッチョイ 369a-msj4) 2018/06/05(火)19:32 ID:70UTtyrn0(1) AAS
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
省16
2: (ワッチョイ 21e3-5Q+M) 2018/06/05(火)20:49 ID:M4A1qqma0(1) AAS
(*゚∀゚)b
3: (ワントンキン MM8a-67BG) 2018/06/06(水)00:37 ID:YMH0q3TJM(1) AAS
デコーダーがイベント監視してる時点でなんかおかしいって気が付かなきゃダメだよ
クラスの責務は1つなのだからデコーダーはデコードすることに集中しなきゃならん
なのでイベントの購読、デコーダーへのデータ供給は別のクラスの仕事というわけだ
どうしてもデコーダーにイベントソースを掴ませたいならより抽象化されたストリームを渡すべきだろうね
4(2): (アウアウエー Sa22-UB1l) 2018/06/06(水)00:54 ID:89Zk6fQTa(1/2) AAS
前スレ>>999
酷い言い掛かりだなw
この人、自分の議論が
(1) FrameDecoderは使い捨てされるオブジェクトである(CommunicationPortより寿命が短い)
(2) FrameDecoderを使う側(メインクラス?)はプログラムと同じ寿命
っていう自分勝手な前提に立ってることに気付いてるのかな。
そんな勝手な前提を置いたらどんなイチャモンでも言えるよw
省12
5: (アウアウエー Sa22-UB1l) 2018/06/06(水)00:57 ID:89Zk6fQTa(2/2) AAS
それとさあ、、これも繰り返しになるけど、
だから俺は質問者の参考になるかもしれんコードの骨組みのサンプルを書いてるだけであって、
そんな細かい別の話をしてるんじゃないってばw
何でもっと建設的になれないかな
6: (ワッチョイ d681-gTal) 2018/06/06(水)01:15 ID:e5dRgfnV0(1/2) AAS
死なないと分かんねーのかな
7(1): (ブーイモ MMf1-CKCa) 2018/06/06(水)01:18 ID:qa98W75KM(1) AAS
>>4
分かってないなあ
FrameDecoderの寿命はFrameDecoder自身が決めることではなくてそれを使う側が決めることでしょ
引数をはじめとして、自分の管理外にあるものに対して自分自身を登録することは、その了解を破ってるという点で好まれない
OSSのソースとか読んだことないかもしれないけど、実際滅多にないよ?
FormやTimerのようにGCRoot持って自分自身で寿命を制御してる例外も無くはないが、
それはフォームはXボタン、タイマなら一定時間経過、というように自分自身の性質が寿命を決めているからそれが自然なんだよ
8: (アウアウウー Sa09-CKCa) 2018/06/06(水)01:18 ID:XybM8xsda(1/2) AAS
>>4
分かってないなあ
FrameDecoderの寿命はFrameDecoder自身が決めることではなくてそれを使う側が決めることでしょ
引数をはじめとして、自分の管理外にあるものに対して自分自身を登録することは、その了解を破ってるという点で好まれない
OSSのソースとか読んだことないかもしれないけど、実際滅多にないよ?
FormやTimerのようにGCRoot持って自分自身で寿命を制御してる例外も無くはないが、
それはフォームはXボタン、タイマなら一定時間経過、というように自分自身の性質が寿命を決めているからそれが自然なんだよ
9(1): (アウアウエー Sa22-UB1l) 2018/06/06(水)01:28 ID:kKiXaErEa(1) AAS
>>7
分かってないのは君
だから、君は勝手に「FrameDecoderを使う側の寿命はCommunicationPortと同じが
それより長い」という前提に立っている。
何度も言うが、そんな勝手な前提を置いたら何でも言える。
じゃあFrameDecoderを使うオブジェクトの寿命がCommunicationPortより短い場合はどうするのか。
10(1): (アウアウウー Sa09-CKCa) 2018/06/06(水)01:36 ID:XybM8xsda(2/2) AAS
>>9
なるほど、そんな初歩的なところを勘違いしてたのか
イベントを使うにしろ何にしろ、CommunicationPortから引数の受け渡しによってデータを受け取る以上、
当然、CommunicationPortからFrameDecoderへは参照を辿って到達可能でなければならないよ
問題にしてるのはその参照を登録したり解除したりする責任の話ね
11: (ワッチョイ fa9d-/lNa) 2018/06/06(水)01:39 ID:CmtfArYj0(1) AAS
つか、シリアル通信クラスって標準のがあった気がするけど
それが合わないとしても、それを模倣して作れって言うのが普通じゃないのか
12(1): 前スレ976 (ワッチョイ 4e99-fUxx) 2018/06/06(水)06:26 ID:z0q6WK6V0(1) AAS
すいません
回答ありがとうございました
何か揉める原因になってすいません
外部リンク[html]:dobon.netのデータを返す方法がやりたいことになるのかなと思って調べてました。
13: (ワッチョイ d681-gTal) 2018/06/06(水)09:37 ID:e5dRgfnV0(2/2) AAS
彼らは病気だから気にしなくていい
いつものことさ
14: (アウアウエー Sa22-UB1l) 2018/06/06(水)11:55 ID:/mNmPD5La(1/2) AAS
>>10
何を言ってるのかさっぱり分からない
だれか分かる人がいたら解説してw
「CommunicationPortからFrameDecoderへは参照を辿って到達可能でなければならない」
必要なんかどこにあんのw
しかし、こういう「俺様ルール」を正当化するために
勝手な前提条件を設定してかつその自覚がない人ってのは困っちゃうね
15: (アウアウエー Sa22-UB1l) 2018/06/06(水)12:02 ID:/mNmPD5La(2/2) AAS
>>12
別にもめてるわけじゃw
プログラミングは技術の一種なんだから質問スレであっても
議論に発展することがあるのは当たり前で、それを異常なことのように
感じる人間の方が病気で、そういう人間こそ無視していいと思う
以前「マウンティング」って言葉が好きな御仁がおったけど、
ようするに彼はそんなくだらないことでマウントを取りたい自分を
省1
16: (ワッチョイ fa11-W/zB) 2018/06/06(水)12:28 ID:v+YVHC4y0(1) AAS
>>1読め
17(3): (ワッチョイ fae0-kPLI) 2018/06/06(水)20:12 ID:Xjc53mAM0(1/2) AAS
どうでもいい質問ですがvisual studioの初期設定で
C#が中括弧だけで1行使うのはなにか理由があるんでしょうか?
C++他の言語だと最初の中括弧の前では改行しないスタイルの方が多いと思うんですが
18: (ラクッペ MM35-gTal) 2018/06/06(水)20:17 ID:yVrgGFaDM(1) AAS
ない
19(1): (アウアウウー Sa09-C2Ni) 2018/06/06(水)20:34 ID:LL2q+46Ta(1) AAS
外部リンク:ja.m.wikipedia.org字下げスタイル
20: (ワッチョイ d681-R6Ha) 2018/06/06(水)21:13 ID:5ce/nrvV0(1) AAS
>>17
波動拳みたいでいいだろ?
21: (ワッチョイ fae0-kPLI) 2018/06/06(水)21:13 ID:Xjc53mAM0(2/2) AAS
>>19
どうも、よく分かりました
22(1): (ワントンキン MM8a-67BG) 2018/06/06(水)23:05 ID:N8yiaTQzM(1) AAS
パイソンスタイルが至高
波カッコとか要らん
23: (ワッチョイ 5db3-7ot6) 2018/06/06(水)23:07 ID:+PcIhiGy0(1) AAS
俺はブロックが解り易くて良いと思うけどな
縦に長くなるのが嫌だって人がいるのも理解しない事はないが
24: (アウアウウー Sa09-CKCa) 2018/06/06(水)23:15 ID:c8dAN/Mma(1) AAS
>>17
C++は { だけで一行使うスタイルの方が一般的だと思うぞ
C#はもともとC++開発者の取り込みを狙って作られた言語なので、ソースのスタイルも含め、意図的に全体的な雰囲気をC++に似せている
25: (ワッチョイ eb81-lRLg) 2018/06/07(木)00:32 ID:8RMVvRLY0(1/2) AAS
>>22
C#はコード畳めるんだぜ?
26: (ワッチョイ 81b3-9mJg) 2018/06/07(木)00:35 ID:gtRPAC9i0(1) AAS
言いたい事は解るけど、それは言語仕様でなくIDEの機能では……
27(1): (ワッチョイ e9e3-oEJ7) 2018/06/07(木)07:22 ID:7v9jTo8H0(1) AAS
あのコード畳める機能って極悪だよな。
もうそろそろ終わりだなぁと思ったら畳まれているコードが数百行隠れてましたとか泣いたよ。
28: (ワッチョイ 1311-V68u) 2018/06/07(木)08:14 ID:w0rLP4AV0(1) AAS
畳まれてるコードがあって泣くってどういう状態だよ・・・
29: (スッップ Sd33-fSec) 2018/06/07(木)08:49 ID:acA4rAind(1) AAS
どうせ20000行のメソッドとかなんだろ
30: (ワンミングク MM53-LJEe) 2018/06/07(木)08:54 ID:dtJbFkp5M(1/3) AAS
クラスの作成について教えてください。
内部でstring程度の情報しか持たない場合でも、Disposeは実装しなければならないですか?実際、何もやる事ないですが。
31: (ワッチョイ eb81-XZeD) 2018/06/07(木)08:59 ID:jTBAfznK0(1) AAS
しなければならないと言った人に聞いてくださいよ
一般的に、決定権がある人が必要ないと判断すればしません
32(1): (ワンミングク MM53-LJEe) 2018/06/07(木)09:15 ID:dtJbFkp5M(2/3) AAS
すみません、聞き方が悪かったです。
しなければならないと言われた訳ではないのですが、作法としてどうなのかな?と心配になって質問しました。
自分だけで使うならどうでもいいのですが、他人にも公開するものなので、恥ずかしくないものを作りたくて。
33(1): (ワッチョイ 1306-EqDK) 2018/06/07(木)09:41 ID:NVuYCS+k0(1) AAS
作法というかIDisposableは主にアンマネージリソース解放の用途だよ
OS機能を直接扱うとか、メンバーが使用してるとか。インスタンス解放ではない
むしろ実装の仕方に作法があるのでMicrosoft DocsなりMSDNなりを
34(1): (アウアウウー Sad5-BJSQ) 2018/06/07(木)15:35 ID:Fu48jME1a(1) AAS
>>32
やることが無いならDisposeやファイナライザを実装してはいけない
それらを実装するのは例外的なケースであり、無いのが普通
35(1): (ワンミングク MM53-LJEe) 2018/06/07(木)16:30 ID:dtJbFkp5M(3/3) AAS
>>33
>>34
レスありがとうござます。完全に勉強不足でした。
IDisposableが実装されてないクラスなんて山ほどあるのに何を勘違いしてたんでしょうか。聞いてよかったです。
36: (ブーイモ MMeb-lRLg) 2018/06/07(木)19:28 ID:6Ugs28PiM(1) AAS
>>27
行数表示してないのかよw
37(1): (ワッチョイ 897f-LHz9) 2018/06/07(木)19:55 ID:GcMnTqlg0(1) AAS
コントロールが表示されないのですがなぜでしょう
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("外部リンク:www.yahoo.co.jp
38: (アウアウカー Sa2d-yORj) 2018/06/07(木)21:20 ID:aqK3UKBIa(1) AAS
>>35
アンマネージなシステムリソースを確実に解放するときに使うよ
39: (ワッチョイ 09c3-Ihiv) 2018/06/07(木)21:25 ID:HziEaPXa0(1) AAS
どういう考え方をすればできるようになるんだよ!教えろお前ら!!ホラホラホラホラ!!!!
40: (ワッチョイ eb81-lRLg) 2018/06/07(木)21:27 ID:8RMVvRLY0(2/2) AAS
プロセスゾンビを確実にkillするにはどうすればよい?
41: (ワッチョイ b1b5-pwhw) 2018/06/07(木)21:43 ID:muNvrUxm0(1) AAS
シャットダウン
42: (バットンキン MM53-9WTg) 2018/06/08(金)12:54 ID:ZXhSx/U8M(1) AAS
kill -9 プロセス番号
43: (ワッチョイ a98a-Duqg) 2018/06/08(金)12:54 ID:sQqhvtlW0(1) AAS
init 0
44(1): (オイコラミネオ MMb5-GLBR) 2018/06/08(金)13:08 ID:CYBBWkiVM(1) AAS
>>17
私は { は単独にしない派ですね。
理由は、少しでも多く画面内にソースを表示して見通しやすくするためと、昔からの Basicの名残で、ifなら thenに相当する { は行末。endifの } は単独という位置づけですね。
今はideの進化で { } のペアの書き忘れがほとんどないというのもあるかな。
45(1): (ワッチョイ 137f-6+Fv) 2018/06/08(金)14:44 ID:6WR6CtyO0(1) AAS
>>37
試してないけど、対応OSで実行してないとか?
46: (スップ Sd73-fSec) 2018/06/08(金)15:03 ID:QSVDv9Gwd(1/2) AAS
>>44
その言語の流儀に素直に従った方がいいんじゃないかと
47(1): (ワッチョイ 1311-V68u) 2018/06/08(金)16:55 ID:3Fn0oPLQ0(1) AAS
流儀に従うなら、どっちでもいい、では?
48(2): (ワッチョイ d360-X4KX) 2018/06/08(金)17:50 ID:wbtEeseM0(1) AAS
int c = 5;
for(c = 1; c < 61; c++)
{
//処理
}
Console.WriteLine(c.ToString());
これで一番最後でCが62になるのですが
省1
49: (ワッチョイ eb9a-DGJA) 2018/06/08(金)17:59 ID:3yCOErp00(1) AAS
>>48
新規でコンソールアプリ用のプロジェクト作ってそれをコピペして実行してみたら?
処理の中身に問題が無ければ62になるはずがない
50: (アウアウエー Sa23-SCrG) 2018/06/08(金)18:02 ID:SrLrQXUUa(1/2) AAS
>>48
外部リンク:ideone.com
51: (アウアウエー Sa23-SCrG) 2018/06/08(金)18:11 ID:SrLrQXUUa(2/2) AAS
つーか、この程度の検証もせずに他人に質問を投げる神経が分からんマジで
52(1): (スップ Sd73-fSec) 2018/06/08(金)18:35 ID:QSVDv9Gwd(2/2) AAS
>>47
パブリックなAPIかそうでないかによって違う
53: (ワッチョイ 897f-4qwh) 2018/06/08(金)19:21 ID:TU3718TC0(1) AAS
>>45
OSのバージョンは問題なさそうなんですよね。
54(1): (ワッチョイ 1311-V68u) 2018/06/09(土)10:20 ID:iRP9QLJz0(1) AAS
>>52
え、何が?
{の位置にそんなこと関係ある?
55(2): (ワッチョイ 13b3-3s1o) 2018/06/09(土)11:11 ID:3S5Pjg6F0(1/4) AAS
構造化制御文はインデントされた行を1行と1行、例えば if (a == b) { と } で挟むのが、
パッと見たとき一体に見えて分かりやすい。{ を単独行にすると、{ と } で挟まれた
無名ブロックがあって、その上に構造的に無関係な1行のif文があるように見えてしまう。
もう少しじっくり見れば、行末の ; の有無で下のブロックとの関係を判別できるが、
その一瞬の認知の遅れに違和感を覚え、もっとはっきり言えばキモいコードだと思う。
同じ理由で、条件が真のときの文が1つの場合の
if (a == b)
省15
56(1): ◆QZaw55cn4c (ワッチョイ d360-EqDK) 2018/06/09(土)11:28 ID:BV3WmSRm0(1/4) AAS
>>55
if (cond) {
}
と書くのだったら、関数の場合も
int func(int arg) {
}
とするのが統一がとれていいんじゃない?なぜ関数と if 文とで書き分けるのか、その理由がわからない
57(1): (ワッチョイ 81b3-9mJg) 2018/06/09(土)11:40 ID:kOHnqaQt0(1/2) AAS
その自己主張要る?
58(1): (ワッチョイ 81b3-9mJg) 2018/06/09(土)11:41 ID:kOHnqaQt0(2/2) AAS
あ、>>57は>>55宛てね
宗教論争は他所でやって頂きたい
59: (ワッチョイ ebc9-LHz9) 2018/06/09(土)11:42 ID:4y2IVpvw0(1/2) AAS
メソッドとif文に差付けなくてもインデント違う時点で判別付くんじゃないのか
と思ったが、ローカル関数出てきたんだっけか
60(1): (ワントンキン MM53-7qxP) 2018/06/09(土)12:02 ID:54mp5fzVM(1/3) AAS
if (cond) statement;
if (cond) call();
if (notcond) return;
statement;
statement;
statement;
{}がなくても見やすいね
61(3): (ワッチョイ 13b3-3s1o) 2018/06/09(土)12:03 ID:3S5Pjg6F0(2/4) AAS
>>56
それぞれの制御文 (if, for, whileなど) 同士は機能が似通っているが、
関数は全く違うから、見た目も書き分けた方が良い。
Pascalだと関数は
function func(arg: integer): integer;
begin
で、制御文は
省6
62: (ワッチョイ 13b3-3s1o) 2018/06/09(土)12:05 ID:3S5Pjg6F0(3/4) AAS
>>60
1行if文は否定しないし、自分自身も割とよく使うよ。
63(1): ◆QZaw55cn4c (ワッチョイ d360-EqDK) 2018/06/09(土)12:18 ID:BV3WmSRm0(2/4) AAS
>>61
pascal に習う必要はないと思いますが…なぜ pascal を持ち出してきたのでしょうか?
私は関数と if/for/while を別にする必要性はないと思っています
{
}
とかスペースの無駄にみえてしまいます
64: (ワントンキン MM53-7qxP) 2018/06/09(土)12:23 ID:54mp5fzVM(2/3) AAS
構造がクリーンなコードを心がければ自然と{}を使わないコードになる
まあ俺から言わせてもらうと{}は綺麗なコードが浮かばない時に仕方なく使う苦肉の策ってところだね
65(1): (ワッチョイ 13b3-3s1o) 2018/06/09(土)12:43 ID:3S5Pjg6F0(4/4) AAS
>>63
Pascalの悪い所、例えば条件を ( ) で囲まないので条件が目立たないのは真似する
必要はないが、良い所は参考にすべきだろう。C#は開発主導者がTurbo Pascalの
作者だったこともあり、Pascalからもいくらかの影響を受けていて、赤の他人ではない。
関数と制御文は機能が違うし、関数の方がより大きなブロックだから、書き分けた方が
すんなり読める。自然言語で小さな区切りには , を、大きな区切りには ; を使って
書き分けるのに似ている。あるいは章や節の見出しのスタイルに視覚的な差を
省1
66: ◆QZaw55cn4c (ワッチョイ d360-EqDK) 2018/06/09(土)12:49 ID:BV3WmSRm0(3/4) AAS
>>65
>>61
昔のpascalのif 文は
if cond
begin
..;.
end;
省4
67: (ワッチョイ 13d2-fSec) 2018/06/09(土)13:02 ID:ufdIEzvk0(1) AAS
>>54
うん。C#のコーディング規約はあくまでもパブリックなライブラリに関するものだから。
プライベートなものについてはお好きにどうぞって感じ。
68: (ワッチョイ b1b5-pwhw) 2018/06/09(土)13:06 ID:oQlrsJoz0(1) AAS
改行コードが構文に影響を与えない言語仕様なんだから、好きにすればいいんだよ。
69: (ワッチョイ 0b33-T1fc) 2018/06/09(土)13:12 ID:Tjb3C0On0(1) AAS
pascal流はマジキモイな
func() {
}
if () {
}
else {
}
省1
70(1): (ブーイモ MM33-EqDK) 2018/06/09(土)13:27 ID:VOfp/P7BM(1) AAS
これ以上続けても宗教の違いみたいな話で
なにも建設的なハナシにはならないからここらで終わりにしておけば?
上下前次1-新書関写板覧索設栞歴
あと 932 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s