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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8b75-uWnk)
垢版 |
2018/02/04(日) 22:02:28.59ID:FbKpa1HN0
「どんなにくだらない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
2018/02/12(月) 08:38:01.41ID:nCVnsVXOa
偉そうな馬鹿だな
2018/02/12(月) 08:41:37.26ID:nCVnsVXOa
しっかりとした入門書をよめばいいのに
2018/02/12(月) 08:48:25.35ID:F98UmXeX0
MSDNへのリンクでも貼ってやれよ
2018/02/12(月) 08:51:04.12ID:nCVnsVXOa
それとも入門書には書いてあるけど読めてないだけか?
2018/02/12(月) 08:52:33.51ID:F98UmXeX0
msdnじゃないけど
ぐぐったら出てきた

http://www.atmarkit.co.jp/ait/spv/0209/04/news001.html
2018/02/12(月) 08:53:19.49ID:kFYq0atR0
なんだ今日もバカの日記帳か?

変数宣言の時点で中身があるなら値型である
しかし値型なら引数無しコンストラクタは定義できない

そもそも日記帳の中身が破綻しとるw
387デフォルトの名無しさん (ワッチョイ 319d-+g9t)
垢版 |
2018/02/12(月) 08:58:38.18ID:z/E2YHwX0
>>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
2018/02/12(月) 09:05:28.85ID:nCVnsVXOa
>>387
お前は入門書を映像として見てはいるけど
内容は理解してないんだよ

だから毎日トンチンカンな内容なレスをしてる

何度でも読み返して理解してから来いよ
389デフォルトの名無しさん (ワッチョイ 319d-+g9t)
垢版 |
2018/02/12(月) 09:27:01.70ID:z/E2YHwX0
ん? 387のどこが頓珍漢なのだ? 君の説明よりもかなり説得力があると思うが、、、
というのもインスタンスが生成され、その個数をカウントして実際に確認できている。
そういう厳然とした証拠が添付されている。
しかも実際に実行できるコードが添付されている。w
2018/02/12(月) 09:28:32.99ID:nCVnsVXOa
言われてることも理解できないんだよなあ…
2018/02/12(月) 09:31:17.80ID:nCVnsVXOa
>>389
その前にお前は何歳なんだ?
昭和の香りのする口ぶりや全角数字句読点からしたら55〜65歳ぐらいだな
でも言ってることは小学生レベル
2018/02/12(月) 09:49:15.19ID:fQpoXnex0
すべて自演の書き込みだったりして
2018/02/12(月) 10:06:43.72ID:f+qeQBRN0
>>392
固定回線と携帯回線だしその線は高そう
2018/02/12(月) 10:08:20.29ID:p1yPqW7I0
まあ普通の人はデフォルト動作など信頼せずに組むのがお薦めだね
勘違いでエライ目に逢う
2018/02/12(月) 11:23:46.31ID:1LSHehibM
c#8.0になったら超大型破壊的変更がくるけどどうすんのかね

影響はこれまでのほぼ全てのソースに及ぶ
2018/02/12(月) 11:28:08.65ID:GfEZnF0r0
>>395
null非許容参照型のことを言ってるんなら、それは的外れ
397デフォルトの名無しさん (ワッチョイ ddc3-saCW)
垢版 |
2018/02/12(月) 11:31:49.01ID:sATukCOa0
C#っていうのはC言語に何らかの拡張を加えた言語って認識であってる?
2018/02/12(月) 11:33:23.17ID:1LSHehibM
>>396
これまでのソースに手作業で!をつけまくらないといけないんだけど
2018/02/12(月) 11:34:05.89ID:1LSHehibM
>>397
違う
どちらかというとjavaに近い
2018/02/12(月) 11:42:08.05ID:GfEZnF0r0
>>398
少しはググれ
2018/02/12(月) 11:44:44.55ID:1LSHehibM
実際に実行環境をいれたのか?
俺は入れたぞ?

わからないからと言ってググれでごまかすのはどうかと
2018/02/12(月) 11:49:19.25ID:GfEZnF0r0
Null非許容型を前提としたものかどうかAssembly単位でも設定できる
てかそこまでしてなぜ気づかない…
2018/02/12(月) 11:53:52.27ID:1LSHehibM
普通は逆にするけどね
新しい機能は囲い込んで既存のものはそのままでも問題ないようにする
ところが普及しきった段階で破壊的変更を入れてくる
2018/02/12(月) 11:59:07.50ID:1msBxh9/0
じゃあもうやめたらいいんじゃないかな、C#使うの
2018/02/12(月) 11:59:21.31ID:GfEZnF0r0
>>403
https://github.com/dotnet/roslyn/blob/features/NullableReferenceTypes/docs/features/NullableReferenceTypes/Nullable%20reference%20types.md#opting-in-and-opting-out
2018/02/12(月) 12:01:32.14ID:VyGKD4Czd
議論はこちらへ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
2018/02/12(月) 12:04:27.54ID:N6F2lE5bd
>>401
大方どっかのチュートリアル通りの手順を踏んだだけで、現在のproposalなんか確認してないんだろうな
そんなん猿でもできるわ
2018/02/12(月) 12:15:49.51ID:mwueXHhJ0
>>380
生まれてきたのが間違い
2018/02/12(月) 15:08:20.51ID:nCVnsVXOa
素朴な疑問だがnull非許容参照型はGC送りはどうやるんだ?
変換構文などがあってnull代入できるのか?
2018/02/12(月) 15:28:58.13ID:V1lBSRUOd
>>409
GC送り?オレオレ用語は定義と併せて書いてくれ
2018/02/12(月) 15:47:46.56ID:nCVnsVXOa
null非許容参照型の参照を外してガベコレの対象にするにはどうするんだ?

従来だと a=null;などで解放してたものだが
2018/02/12(月) 15:49:47.24ID:+qsRixLI0
値型は?
2018/02/12(月) 15:59:58.64ID:GfEZnF0r0
>>411
null代入なんて無意味
2018/02/12(月) 17:31:58.03ID:b4Df/qb8a
GCは八丈島かw
2018/02/12(月) 19:01:58.78ID:e2TKDGEW0
値型はとられる領域違うでしょ
なんのための参照型なのかわかってる?
null代入ってnullを指すだけでオブジェクトは残るよね?
GCが参照されなくなったオブジェクトと判断して回収するかはGCのアルゴリズムしだいだけど、基本は使わなくなった参照を指定して解放するよね?
416デフォルトの名無しさん (ワッチョイ 319d-+g9t)
垢版 |
2018/02/12(月) 20:36:47.70ID:z/E2YHwX0
値型の代入でもコピーしない場合もあるみたいだね。コピー元が直ちに不要になる場合は
その参照をわたしてそのエリアをそのまま利用する。その方が合理的だから。
まあ単に想像だけど。
そして直ちに不要なのをおもいだして、値を渡したのを忘れて解放してしまう。どうもそういう
バグが偶に出るケースがある。特に初心者があれこれ考えられないような変なことを
やった後とかにそういう現象がでたりする。
2018/02/12(月) 20:43:08.79ID:F3ZoN7fb0
>>415
> なんのための参照型なのかわかってる?
わかってないのはお前だろ w
別にnull代入するためだけにあるわけじゃないし
普通に参照してる変数が無くなったら解放対象になる
418デフォルトの名無しさん (ワッチョイ 319d-+g9t)
垢版 |
2018/02/12(月) 20:50:09.59ID:z/E2YHwX0
Enumがdummyを入れないと誤動作するとか、Staticインスタンスの中身が新しいForm2をNewしてForm_Loadの直後に
突如消えるとかそういう現象はまあビギナーズラックみたいなもので普通はそういう現象に出会えない。
コンパイルエラーがでないし正常に動作するのででPropetyの書き方を全部間違っていたのだが、それでも正常に動作していて
あとで書き方の間違いに気が付いて修正する。そういうことで段々と普通のプログラムになってくるとそういうエラーもいつ
の間にか再現しなくなる。
2018/02/12(月) 21:06:16.17ID:e2TKDGEW0
どこにリファレンスカウントと書いてあるんですかね
ソースは?
マークスイープとは出てきたけど
2018/02/12(月) 21:54:53.51ID:q97gmqzs0
会話になってないから透明削除されてるのかと思った
2018/02/12(月) 22:00:16.10ID:+qsRixLI0
ほーん、で?
2018/02/12(月) 22:01:11.36ID:q97gmqzs0
>>421
単芝忘れてんぞ、カスw
2018/02/12(月) 22:29:08.55ID:BbO5lIMB0
自作のソフトをビルドしてexeを実行したとたんノートンで弾かれる
出力コードのパターンで引っかかってるらしいけどどうしろというの
2018/02/12(月) 22:31:10.19ID:P8plNjZg0
>>423
それはノートンのスレで聞くべきかと
プロジェクトのフォルダを監視対象から外すとかできるはず
2018/02/12(月) 22:37:52.68ID:+qsRixLI0
それだと配布するときに困る
2018/02/12(月) 22:38:59.14ID:ZU9+AgSV0
開発レベルなら監視対象から外す
頒布レベルならノートンに検体差し出すとかすればいいんじゃなかったっけ?
2018/02/12(月) 22:43:12.96ID:BbO5lIMB0
ありがとう
サポに連絡してみる
428デフォルトの名無しさん (ワッチョイ 81b3-PCwM)
垢版 |
2018/02/13(火) 04:38:28.69ID:TnW8OQre0
初心者です。
MainWindow.xamlのtextbox name=“A” “B”を
MainWindow.xaml.csにて、配列に格納する場合
どう書けばいいですか?
2018/02/13(火) 07:44:33.37ID:tk8A9SM5d
Textbox[] textboxArray = new Textbox[2]{A, B};
こういうこと?
2018/02/13(火) 11:06:19.59ID:i7fy8Ihld
>>428
>MainWindow.xamlのtextbox name=“A” “B”を
これの意味がよく分からない
TextBoxを2つ配置してそれぞれの名前をAとBにしたってこと?
2018/02/13(火) 19:39:40.10ID:VYHMGw6PM
queue使わずにListでも似たことが実装可能だと思いますが、queueのメリットってありますか?
2018/02/13(火) 20:05:26.97ID:hyhJ5vah0
Listを使わずに済む
2018/02/13(火) 20:09:36.43ID:MkuiJNyl0
キューのデータ構造を直感的に操作できることに意味があるのでは?
速度的な話は知らんにゃ。
2018/02/13(火) 20:16:33.15ID:ElvL/+ZbM
わざわざ「似たことを実装」せんですむ
List使わなくても配列で似たことを実装できるよね?
2018/02/13(火) 20:20:20.62ID:VxQLTbdHa
>>431
真面目に聞いてるなら、たぶんQueueかListのどちらかまたは両方を理解してないだけだと思う
理解してたらそんなアホな質問はしないと思うなあ
2018/02/13(火) 20:23:27.54ID:IAqZQvKL0
>>435
検討違いだから引っ込んでていいよ
2018/02/13(火) 20:25:51.93ID:4GSdWauJ0
マウンティング
2018/02/13(火) 21:08:44.99ID:i7fy8Ihld
>>431
一般的なキューの作業に限るならパフォーマンスがいい
検索みたいな作業をさせると落ちるけど
2018/02/13(火) 21:36:16.98ID:EkKTn+I70
>>431
特化していることに意味がある。

・キュー動作(先入れ先出し)以外が出来ない。(途中に入れたり取り出したり出来ない)
・キューに最適化した構造なのでパフォーマンスが良い。
2018/02/13(火) 22:15:30.17ID:3CyK4CdI0
パフォーマンスより、それがキュー(FIFOバッファ)であることが明らかなのがメリットなんじゃね
2018/02/13(火) 22:45:35.17ID:67cSYExB0
メモリリークや速度に問題がでたときはコードの美しさよりもカリカリに動く方が優先されるかな
どっちのがなんて気にしないでどっちもメリットって考える方が建設的だよ
2018/02/13(火) 22:56:07.10ID:MkuiJNyl0
コードポリポリ
2018/02/13(火) 22:59:32.72ID:1xfxQHcIa
今時は速度に問題が出たらマウスでポチポチしてちょっと高いインスタンスに変えたら解決
無駄な開発とメンテのコストをかけるよりずっと安上がり
2018/02/13(火) 23:06:25.02ID:YVR14H+qM
運用コスト無視か
2018/02/14(水) 05:18:51.14ID:DeENz/ESH
FIFO構造のqueueの機能がいかせる場面って、最近は局所的な場面だけだわな。
通信ぐらいか?
2018/02/14(水) 07:24:46.45ID:bdz0yRJGM
くそコードを綺麗にリファクタリングしてくれるサービスないですかね
2018/02/14(水) 07:45:36.60ID:DeENz/ESH
ILSpy
2018/02/14(水) 07:52:00.11ID:Dh0Ktwjhd
きれいにコメントを消してくれるな
2018/02/14(水) 09:25:34.75ID:iXQGvev/0
C#始めようと思ったら他と比べて教材あんま出てないし、中古も出回ってなくて高いなあ
2018/02/14(水) 09:28:37.15ID:9uGoJbXy0
未確認++でよくね
451デフォルトの名無しさん (ワッチョイ 62e0-jA6l)
垢版 |
2018/02/14(水) 12:42:24.63ID:pSHgdCSe0
猫でもわかるは?
2018/02/14(水) 12:42:36.42ID:Dh0Ktwjhd
>>449
ネットにいくらでもある
453デフォルトの名無しさん (ワッチョイ c29d-+g9t)
垢版 |
2018/02/14(水) 13:17:41.66ID:UFv5UzG30
>>445
キュウは意外と使われていないな。しかし本来連続処理をする場合はキューが必要になる。
例えばフィルターとか、通信処理ではなくてもメッセージの改行ごとの切り出しとか。キューを使うべきなのだが
つかってる例がない。
 そもそもこのQueueの仕様がだめなんだよな。まるでハードFIFOのまんまじゃないか。笑える。
折角オブジェクト指向で柔軟に作り込みできるのに、何の機能もついてない。ライトするときの型とリードするときの型を
変えられないと意味ないだろ。W
というわけで、
配列でライトして、バイトリードできる利口なキューReQueを作りたいんだが、どう定義したらいいんだ?
2018/02/14(水) 13:28:38.96ID:gTX+9oIaa
BCLのQueueは使いづらいのは確か
昔byte[]でもANSIのstringでもpush/popできるQueueを自作したよ
455デフォルトの名無しさん (ワッチョイ c29d-+g9t)
垢版 |
2018/02/14(水) 13:38:10.36ID:UFv5UzG30
ReQue<int[], byte > qq;
とか
ReQue <strigng, LineString>pp;
とか
1.は array をライトしてByteでリード
2.はStringでライトして、CRLFの区切りで切り出し
こんなのはできないか?
456デフォルトの名無しさん (ワッチョイ c29d-EuZI)
垢版 |
2018/02/14(水) 16:33:41.33ID:UFv5UzG30
 適当に言ってみただけだが、わりと簡単に作れそうだな。
C#って無茶苦茶強力だな。何でもできる。
2018/02/14(水) 18:34:43.79ID:9PWsvYdNM
>>435
な?これだけの議論になる。基礎から勉強し直してこい
2018/02/14(水) 18:38:04.56ID:SoqZVQB/0
いいからさっさとプログラム作れよって思う
2018/02/14(水) 20:23:01.20ID:NjiVKZ8+0
猫でもわかるはやめとけ
460デフォルトの名無しさん (ワッチョイ c29d-EuZI)
垢版 |
2018/02/14(水) 20:39:24.65ID:UFv5UzG30
楽しいC# 川保昌 が楽しい。
2018/02/14(水) 20:42:58.50ID:VDW2B33b0
実戦で役立つ C#プログラミングのイディオム/定石&パターン
独習c#(この前でたもの)が良いと思う
2018/02/15(木) 15:56:01.26ID:5f53kE1X0
WPFってほとんど使われてないって本当ですか?
windows formの方がいまでも需要あるんですかね?WPFしかやったことないから知らなかった。
2018/02/15(木) 16:29:04.46ID:TVpLPkaar
ざまりんと共に使う
2018/02/15(木) 19:39:58.36ID:A5/xapSq0
慣れればWPFの方が楽チン。

WPF用のスレあるから、そっちで
2018/02/16(金) 10:47:11.43ID:whVATIbQ0
https://qiita.com/nskydiving/items/3af8bab5a0a63ccb9893
>Windows Formsの高DPI

VS2017の新機能に高DPIってあるけども、
別にVS2010とかでも、高DPIは使用出来ますよね?
ただちょっとフォントがボケるくらいで、表示不可能とか位置がズレることは無いって認識で合ってますか?
2018/02/16(金) 11:39:04.54ID:gNYDvrte0
Winformsは中途半端なHiDPIサポートが元々入っているせいで
注意深く組まないとネイティブアプリよりもむしろレイアウト崩れやすいレベルだぞ
4.7で追加されたHiDPIサポートとやらもWin10のCUからでないと有効にならない
2018/02/16(金) 13:47:07.04ID:whVATIbQ0
Win10もアップデート次第でレイアウトが異なることがあるのですね・・・。
ありがとうございます。
468デフォルトの名無しさん (ワッチョイ ff8a-F5uH)
垢版 |
2018/02/16(金) 21:43:20.45ID:Mt/w8W0Z0
テキスト編集ソフトを作ってるんですが、ユーザーが開いたテキストファイルの一覧を、
外部ファイルを使用せずにアプリ自身に保存するにはどうしたらいいでしょうか?
2018/02/16(金) 21:56:21.48ID:A7OU5IQxM
GetManifestResourceStream
2018/02/16(金) 21:59:34.47ID:aWM8HJJf0
アプリ自身とは?
2018/02/16(金) 22:02:30.71ID:nFmF7Hof0
>>468
レジストリにでも書いたら?
2018/02/16(金) 22:02:51.33ID:PU4qYOCy0
ゲームのカートリッジみたいに読み書き可能な領域がexe内にあると思ってんじゃないのか
2018/02/16(金) 22:07:54.18ID:aWM8HJJf0
アプリケーション設定とかでいいのでは
2018/02/16(金) 22:10:44.38ID:QLkhweBna
ネタ質問だと思うけど無理なことは無理と言ってあげた方が
2018/02/16(金) 22:12:01.91ID:PU4qYOCy0
C++で似たようなことをやったときは
exe起動→exeのコピーを作成して起動。オリジナルは終了→
メイン処理→オリジナルのexeを書き換えてPEのチェッサムを再計算
とやった
2018/02/16(金) 22:18:35.64ID:PU4qYOCy0
これだとexeが増えてしまうが
exeをコピーして起動でなく、CreateRemoteThreadで他のプロセスに寄生してしまえばexeを増やさなくてすむ
いかにもウイルス的だけど
2018/02/16(金) 22:55:11.48ID:znnk/TEX0
javaかじってこっちに流れてちょっと学び始めたけど驚くほどjavaとそっくりなんだね
2018/02/16(金) 22:59:37.74ID:eSiK1MpKM
完成度は全然違うけどな
2018/02/16(金) 23:39:51.32ID:eZovZERlM
c#8.0ではjavaの機能取り入れるけどな
2018/02/17(土) 00:00:34.91ID:TPVLAw2w0
まあ、後発なんで優れてるのは当たり前
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況