ふらっと C#,C♯,C#(初心者用) Part135
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらない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 Null非許容型を前提としたものかどうかAssembly単位でも設定できる
てかそこまでしてなぜ気づかない… 普通は逆にするけどね
新しい機能は囲い込んで既存のものはそのままでも問題ないようにする
ところが普及しきった段階で破壊的変更を入れてくる >>401
大方どっかのチュートリアル通りの手順を踏んだだけで、現在のproposalなんか確認してないんだろうな
そんなん猿でもできるわ 素朴な疑問だがnull非許容参照型はGC送りはどうやるんだ?
変換構文などがあってnull代入できるのか? >>409
GC送り?オレオレ用語は定義と併せて書いてくれ null非許容参照型の参照を外してガベコレの対象にするにはどうするんだ?
従来だと a=null;などで解放してたものだが 値型はとられる領域違うでしょ
なんのための参照型なのかわかってる?
null代入ってnullを指すだけでオブジェクトは残るよね?
GCが参照されなくなったオブジェクトと判断して回収するかはGCのアルゴリズムしだいだけど、基本は使わなくなった参照を指定して解放するよね? 値型の代入でもコピーしない場合もあるみたいだね。コピー元が直ちに不要になる場合は
その参照をわたしてそのエリアをそのまま利用する。その方が合理的だから。
まあ単に想像だけど。
そして直ちに不要なのをおもいだして、値を渡したのを忘れて解放してしまう。どうもそういう
バグが偶に出るケースがある。特に初心者があれこれ考えられないような変なことを
やった後とかにそういう現象がでたりする。 >>415
> なんのための参照型なのかわかってる?
わかってないのはお前だろ w
別にnull代入するためだけにあるわけじゃないし
普通に参照してる変数が無くなったら解放対象になる Enumがdummyを入れないと誤動作するとか、Staticインスタンスの中身が新しいForm2をNewしてForm_Loadの直後に
突如消えるとかそういう現象はまあビギナーズラックみたいなもので普通はそういう現象に出会えない。
コンパイルエラーがでないし正常に動作するのででPropetyの書き方を全部間違っていたのだが、それでも正常に動作していて
あとで書き方の間違いに気が付いて修正する。そういうことで段々と普通のプログラムになってくるとそういうエラーもいつ
の間にか再現しなくなる。 どこにリファレンスカウントと書いてあるんですかね
ソースは?
マークスイープとは出てきたけど 自作のソフトをビルドしてexeを実行したとたんノートンで弾かれる
出力コードのパターンで引っかかってるらしいけどどうしろというの >>423
それはノートンのスレで聞くべきかと
プロジェクトのフォルダを監視対象から外すとかできるはず 開発レベルなら監視対象から外す
頒布レベルならノートンに検体差し出すとかすればいいんじゃなかったっけ? 初心者です。
MainWindow.xamlのtextbox name=“A” “B”を
MainWindow.xaml.csにて、配列に格納する場合
どう書けばいいですか? Textbox[] textboxArray = new Textbox[2]{A, B};
こういうこと? >>428
>MainWindow.xamlのtextbox name=“A” “B”を
これの意味がよく分からない
TextBoxを2つ配置してそれぞれの名前をAとBにしたってこと? queue使わずにListでも似たことが実装可能だと思いますが、queueのメリットってありますか? キューのデータ構造を直感的に操作できることに意味があるのでは?
速度的な話は知らんにゃ。 わざわざ「似たことを実装」せんですむ
List使わなくても配列で似たことを実装できるよね? >>431
真面目に聞いてるなら、たぶんQueueかListのどちらかまたは両方を理解してないだけだと思う
理解してたらそんなアホな質問はしないと思うなあ >>431
一般的なキューの作業に限るならパフォーマンスがいい
検索みたいな作業をさせると落ちるけど >>431
特化していることに意味がある。
・キュー動作(先入れ先出し)以外が出来ない。(途中に入れたり取り出したり出来ない)
・キューに最適化した構造なのでパフォーマンスが良い。 パフォーマンスより、それがキュー(FIFOバッファ)であることが明らかなのがメリットなんじゃね メモリリークや速度に問題がでたときはコードの美しさよりもカリカリに動く方が優先されるかな
どっちのがなんて気にしないでどっちもメリットって考える方が建設的だよ 今時は速度に問題が出たらマウスでポチポチしてちょっと高いインスタンスに変えたら解決
無駄な開発とメンテのコストをかけるよりずっと安上がり FIFO構造のqueueの機能がいかせる場面って、最近は局所的な場面だけだわな。
通信ぐらいか? くそコードを綺麗にリファクタリングしてくれるサービスないですかね C#始めようと思ったら他と比べて教材あんま出てないし、中古も出回ってなくて高いなあ >>445
キュウは意外と使われていないな。しかし本来連続処理をする場合はキューが必要になる。
例えばフィルターとか、通信処理ではなくてもメッセージの改行ごとの切り出しとか。キューを使うべきなのだが
つかってる例がない。
そもそもこのQueueの仕様がだめなんだよな。まるでハードFIFOのまんまじゃないか。笑える。
折角オブジェクト指向で柔軟に作り込みできるのに、何の機能もついてない。ライトするときの型とリードするときの型を
変えられないと意味ないだろ。W
というわけで、
配列でライトして、バイトリードできる利口なキューReQueを作りたいんだが、どう定義したらいいんだ? BCLのQueueは使いづらいのは確か
昔byte[]でもANSIのstringでもpush/popできるQueueを自作したよ ReQue<int[], byte > qq;
とか
ReQue <strigng, LineString>pp;
とか
1.は array をライトしてByteでリード
2.はStringでライトして、CRLFの区切りで切り出し
こんなのはできないか? 適当に言ってみただけだが、わりと簡単に作れそうだな。
C#って無茶苦茶強力だな。何でもできる。 >>435
な?これだけの議論になる。基礎から勉強し直してこい 実戦で役立つ C#プログラミングのイディオム/定石&パターン
独習c#(この前でたもの)が良いと思う WPFってほとんど使われてないって本当ですか?
windows formの方がいまでも需要あるんですかね?WPFしかやったことないから知らなかった。 慣れればWPFの方が楽チン。
WPF用のスレあるから、そっちで https://qiita.com/nskydiving/items/3af8bab5a0a63ccb9893
>Windows Formsの高DPI
VS2017の新機能に高DPIってあるけども、
別にVS2010とかでも、高DPIは使用出来ますよね?
ただちょっとフォントがボケるくらいで、表示不可能とか位置がズレることは無いって認識で合ってますか? Winformsは中途半端なHiDPIサポートが元々入っているせいで
注意深く組まないとネイティブアプリよりもむしろレイアウト崩れやすいレベルだぞ
4.7で追加されたHiDPIサポートとやらもWin10のCUからでないと有効にならない Win10もアップデート次第でレイアウトが異なることがあるのですね・・・。
ありがとうございます。 テキスト編集ソフトを作ってるんですが、ユーザーが開いたテキストファイルの一覧を、
外部ファイルを使用せずにアプリ自身に保存するにはどうしたらいいでしょうか? GetManifestResourceStream ゲームのカートリッジみたいに読み書き可能な領域がexe内にあると思ってんじゃないのか ネタ質問だと思うけど無理なことは無理と言ってあげた方が C++で似たようなことをやったときは
exe起動→exeのコピーを作成して起動。オリジナルは終了→
メイン処理→オリジナルのexeを書き換えてPEのチェッサムを再計算
とやった これだとexeが増えてしまうが
exeをコピーして起動でなく、CreateRemoteThreadで他のプロセスに寄生してしまえばexeを増やさなくてすむ
いかにもウイルス的だけど javaかじってこっちに流れてちょっと学び始めたけど驚くほどjavaとそっくりなんだね そりゃJava使いならJavaと対応してるものに目が行くから似てるように感じるのは当然だろう
今のC#は拡張に拡張を重ねてC++に匹敵するくらい複雑怪奇な言語だよ >>481
確かに複雑になっては来てるけど、C++に匹敵ってのは大げさだろ。
C++はC++11/14/17と着実に先を進んでるからな。 c#は最近は後発気味
毎回追加される仕様は他の言語から引っ張って来てるものばかり
typescriptの仕様とかそろそろ入れてくるんじゃないかと思ってる タイプスクリプトにあってC#にない機能しないなんてある? TypeScriptの肝とも言える structual type と type guard はC#にはないんじゃないかな。 型関連は TypeScript の方が高度で精密
型消去されるので CLI の仕様に縛られない TypeScriptの型システムは完全なstructual subtypingで、そもそも型に対する考え方が大きく違う
「同名のメンバを一つでも持っていれば、共通する部分については同じ型と見做す」という、
高度で精密という表現からはかけ離れた大雑把な型システムだよ
インターフェイスの明示的実装なんかは原理的に不可能だし 既存の型との相互運用は限定されるだろうけど、一つの言語に両者を混在させるところまでは可能だろうな。
ようは型ヒント付きのVariant。 >>483が言ってるのって構造的型と型ガードのことなの?
他にはないの? uniontypeとか入れたい人がいるようだけど
void aaa(string | int | double a )
{
こんな感じで複数の型を受け入れられる c#始めて少しだけど、最初にデータバインドでつまづいて
今は非同期処理を使いこなせなくて辛い
linqもまだまだだし、1人前になるには少なくとも1年はかかるだろうか >>494
言語に振り回されてる
大事なことはプログラムを完成させることだし
処理を実現すること >>495
その通りなんだけど、そもそもやりたいことを実現するために機能が必要なことが多い
xamlに値を直接書きたくない→データバインド
webリクエストを投げてかえってきた結果をスクレイピングして使いたい→非同期処理
コレクションの処理を簡潔に記述したい→linq
全部使わなくても出来るとは思うけど、
どうせあとで書き換えることになるだろうし、
ちゃんと学んでおいた方が後の手戻りが少なくなると思う 動いてるものを書き換えることは少ないよ
特にlinqへ書き換えは趣味の世界 継続的に開発して変化に対応しやすいようにするならlinqは短いコードだけ
ちょっと複雑なのは普通にforやforeachがいい場合がある
linqは結局一つの列挙しか返さないから要素数が違ったりするものを組み合わせられない ■ このスレッドは過去ログ倉庫に格納されています