ふらっと C#,C♯,C#(初心者用) Part152
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part151
https://mevius.5ch.net/test/read.cgi/tech/1621129559/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured >>558
今のVS(Ver.16.11)は既存のソリューションのローカルgitリポジトリを作るのは簡単だよ
gitメニューのgitリポジトリの作成でローカルのみを選んで作成するだけ
それを実行したらソリューションフォルダの中に.gitフォルダが作成される .gitignoreをちゃんと設定しないと後々面倒なことになるね
ググってコピペで十分だが >>574
VSでリポジトリを作成すればVS向けの.gitignoreも自動生成されるよ プログラムソースはgit、リソースはsvn管理が一般的だろ
githubとか使わないでも、ローカルのHDDにリモートリポジトリ作れるよ
gitクライアントはSourceTreeが使いやすくて好き source treeはいいね
単体リポジトリだけならvsのgit機能で事足りるんだけど
vsで複数リポジトリを統合管理できたらsource treeからまるごと乗り換えられるんだよなぁ ドキュメントとソースを別管理にするとどのドキュメントのバージョンがどのソースのバージョンに当たるのか普通にわかんねーぞ そういう管理してるとこあったけどバカが知ったかで管理者気取ってるだけで問い詰めたら全く理由らしい理由なかった git教とsvn教の両方から叩かれるソリューション 趣味でC#書いてるだけだからか、Githubに触れる理由が見当たらない。 趣味でもOSSのライブラリのソース見たりすることはあるだろ?
それすらしないならさすがに無価値なんで存在を無視して差し支えない 素人が価値のないコードを必死に守ろうとするのは滑稽だな
そんなもん全公開でいい 素人だろうとデータを軽んじてる時点で社会人として失格だわな
そういう奴が個人情報をお漏らしする なんでソースコードの中に個人情報が入るのかがまず分からん 個人情報はともかく、APIのkeyをベタ書きして…というしょうもないミスがまれによくあったりするからなぁ >>590
多くのサンプルがそうだからな
じゃあどこへ置くんだよっていうと結構難しかったりする >>579
リソースはpngとかのいわゆるバイナリファイルかな
>>580 >>581
gitはバイナリファイルの差分管理ができないからsvnで管理する
そりゃgitで全部管理できたら楽だがプロジェクトが大きくなったらトラブるよ
個人開発レベルのサイズならgitで済むかもだが
svnとgitのバージョンのずれは運用で何とかするな(日時とか見てそれぞれ戻せば別に問題ない)
どうしても一緒に扱いたいなら別のバージョン管理システム使うかだね
(perforceとか) >>593
> svnとgitのバージョンのずれは運用で何とかするな(日時とか見てそれぞれ戻せば別に問題ない)
個人的にはsvnの方が慣れてるのでいまだにsvn使ってる俺ですらそれには賛成できんわ でかいバイナリー扱うならgit LFS使えばいいんだよ git LFS は俺が選定した当時は問題ありそうだったから使わなかったね
今は良く分からんけど使えるなら使えばいいんでない?
使ってないのにググった結果で適当言ってるだけなら怖いけど 知りもしないのに知ったかするのが怖いってのは自己紹介かな >そりゃgitで全部管理できたら楽だがプロジェクトが大きくなったらトラブるよ
とりあえずこれ、gitになにか問題があってトラブるって言ってる?どんな問題? まぁ、100Mのものが無いだろうと思ってたら、
100M超えてるのが2つあって手戻しとかはあるな。
個人でプライベートだと、コンパイル結果や中間ファイル消したりもしないし。
拡張子でざっくり消せればいいのだが、そうもいかず名指しでignore指定。
ほほ間違いなく後手対応になる。 Visual Studioが最初に生成する.gitignore使えば生成ファイルが除外されてるしな >>593
ドキュメントとソースのバージョンが一致しなくなっちゃうより問題あることって起きる? https://sites.google.com/site/nantonaku999/home/fairu-cang-ku2/fairu-cang-ku-2
このようなニコニコ動画弾幕ツールを作るにはC#を学習すれば良いのでしょうか?
参考になりそうな書籍などありましたら教えて欲しいです
プログラミング自体入門者です。 gitとsvnを併用運用するのって良くある環境だと思ってたけどこんだけ突っ込み入るならそうでもないのかね
gitは大きなバイナリの扱いが苦手ってのはググれば分かるんだから、どれだけ問題あるかとかは自分で判断してくれ
単にリポジトリが大きくなるとかクローンに時間がかかるとか重すぎてタイムアウトするとかそういうのだよ
もちろんプロジェクトによっては問題ないだろうから自己判断だね >>607
俺の職場も併用だし他社でも似た話を聞くよ
そんな気にすることでもない >>606
だいたいどの言語でもできると思うけど、使いたいサービスや前例がある言語を選べると良いとおもう。
それがわかんなかったら、好きな言語を学びながら作りたいものの完成を目指すといいよ。
「この機能は弾幕のここに使えるな…」みたいな感じで勉強していくとモチベも続くんじゃないかな
書籍はいらないよ、サイトで学習するだけで十分。
c#ならここでいい
https://ufcpp.net/ ゲーム系、特にコンシューマ機系はほぼ確実に混じってると思うぞ。 >>606
それWinformsアプリケーションだよ、これから新しく学ぶには良い題材と思えないな
ちなみに需要があるなら、とっくに新しいソフトが作られていて、利用者もそっちへ移行してるものじゃないかな
古いものを仕方なく使う場合、それ相応の理由がある。で、それを確認できないと何とも言えないね ニコ動は弾幕システムも含めて他所のサイトから丸パクリだからな
元の開発者知ってるだけに今見てもムカつくだけだわ
初期の開発はC#だったよ 最初はWinformの4.8 frameworkの方が話しが単純だから学習に向いてるよ。
WPF使うにしても最初は前部ビヘイビアで書く方が理解も早い。
一人で5年と経験もない人がWVVMとかやっても
マイナスにしか働かないし。 >>609
ありがとうございます
C#の基礎的なコンソールの文法は覚えれたと思うのですが
どうやって弾幕アプリを作っていけばいいのか検討もつきません
アプリの本を読んでれば作れるようになるんでしょうか? >>613
前部ビヘイビアがさっぱりわからんが、コードビハインドのことかな? >>613
色々出鱈目だのう
4.8 framework→.NET Framework 4.8
WVVM→MVVM
前部ビヘイビア→全部コードビハインド 何が衝撃的かと言えば、キャリア5年を素人と扱いしているということは
彼のキャリアは推定10年以上ってことだわ c#でディスクパーティションを削除したり作成したり自動化したプログラム作りたいんです。
それ系のサンプルコードを検索しても出てこないんですがc#では無理でしょうか? >>613
すいません
Amazonで.NET Framework 4.8 とかMVVMでググっても出ないんですけど
具体的にどういった本がそれに当たるのでしょうか?
Xamarin,VisualC#,WPF,ASP.Net,.NET5 といったものが多く出てきましたが
自分の目的にはどれがあってるのか… 6年ぶりにC#に戻ってきそう
といってもWinForm(VS2015)しかやっていなかったけどこの6年で何か変わった? WinFormの質問です
ラジオボタンはAppearanceボタンにした時、選択時のボタン色が薄い青?みたいな感じになるんですが、これを任意の色に変更することは可能でしょうか
可能であれば方法を教えていただきたいです
よろしくお願いいたします FlatStyleをFlatにしてFlatAppearanceで設定する >>637
ありがとうございます!
今日試してみます HttpClientのメッセージロギングしてデバッグしたいんだけど、Chromeの通信デバッグ並に完全に読み取る事って簡単には出来ない?
HttpRequestMessage request = new(HttpMethod.Post, url);
Debug.WriteLine(request);
これだとその後にCookieContainer等からセットされるヘッダは読み取れない訳だけど、実際に送られるリクエストメッセージを完全に読み取る方法ってあったりする? メソッドの引数がenumの配列なのに
enumの値渡してもコンパイルエラーにならなかった
直しておいてね 最近はパターンマッチング使えるしenum要らない子かなーと思ったらHasFlagがあるんだった 初歩的な質問ですいません
初めて非同期処理を書いてみたのですが、awaitを使用して非同期メソッドを呼び出してもその結果を待たずに処理が進んでしまいます
非同期メソッドを呼び出す側はasyncを付与しています
awaitを使用すると結果を待つ、いわゆる同期的な動作をすると解釈しているのですが認証が間違っているでしょうか?
またこのように処理が進んでしまう場合はどこ疑うべきでしょうか? >>643
漠然とし過ぎてエスパーし辛いから、もうちょい具体的にコード(の一部)書いた方がレス付きやすいんじゃないかな >>643
待つ相手の戻り値がvoidになってるんじゃないか。
async voidだとawaitしても待たないから戻り値をvoid以外にするか
await Task.Run(()=>this.hoge())とかにする >>643
> awaitを使用すると結果を待つ、いわゆる同期的な動作をすると解釈しているのですが認証が間違っているでしょうか?
間違ってます。awaitを使ってください。
awaitは非同期処理を同期処理の時と同じようなスタイルでコードを書くためのものです。
awaitより後のコードが現在実行してるタスクの後続タスクとして実行されます。 寝ぼけて出鱈目なこと書いてる…
>>646は無視してください static async Task Main(string[] args)
{
Console.WriteLine("a");
await TestFunc();
Console.WriteLine("f");
}
public static async Task TestFunc()
{
Console.WriteLine("b");
await Task.Run(() =>
{
Console.WriteLine("c");
string s = "";
for (var i = 0; i < 100000; i++)
{
s += "a";
}
Console.WriteLine("d");
});
Console.WriteLine("e");
}
>>650 インデントないと見にくいかなーって思って。
JaneStyleで安価にマウスオーバーでインデント付き文字列が見えるけど
くろーむやfirefoxみたいな通常のブラウザだとインデントつかないね そういう時はideoneを使うのです >>1 にも書いてあるでしょ
https://ideone.com/hPhtgv >>652
横レスだが、それは知らんかった
JaneStyle使ってるが安価だと確かにインデント見えるな
今度使わせてもらうわ そろそろWPFに手を出してみたくて最小コード書いてコンパイルしてみたんですが
System.Windows のアセンブリ参照が無い
という状況。そんなことある?
VisualStudioは入れて無いんですが、VS入れないとアセンブリ追加されないってこたぁ無いと思うんですが。
アセンブリ参照が
Windows\assembly
Windows\Microsoft.NET\assembly
ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8
と3つあるのがよく分からんのですが、何をどうすればいいんですかね? WPF以前に.NETの開発に手を出してこなかった方かな
そのコンパイル単位で何の外部DLLを必要としてるかコンパイラに教える必要がある
WPFはとりあえずWindowsBase.dll, PresentationCore.dll, PresentationFramework.dllの3つが必要
何でコンパイル/ビルドしてるかによるけど
csc.exeなら/r:WindowsBase.dll /r:(以下略)みたいに/rを並べる
dotnetコマンド使ってるならそもそもdotnet new wpfでWPFアプリのテンプレート使えばいい そのレベルのアホがなんでVisualStudio入れないでやってこんなとこで質問してんだ?
わからねぇなら一度は入れてやってみろよ
脳にクソでも詰まってるのか? C#はよっぽどでない限りVS使った方がいいと思うがなぁ。
dotnetとphpがまじっててー、両方同じサーバーで運用してるんですー、みたいなんじゃない限り。 外部…DLL…?
WPFって追加の参照設定が必要なんですかい
そーゆーのはコンパイラがなんかうまいことやってくれるもんだと思ってましたわい
しっかしこういう知識って皆どこで学ぶんですかね?MSDNは何処に何が書かれているかクッソ分かりづらいし
まぁ質問したら先に進めたんで質問するのが正解ですわ MSDNって書いてる時点で何となく世代の想像がつくなあ
これから勉強するということであれば
CommunityEditionなら無料で使えるんだからおとなしく最新のVisualStudio2019を入れて
MicrosoftDocsのチュートリアルから手を付けるのが無難な気がするけどな
Webで適当に検索したところで引っかかるのはゴミみたいな古い情報ばっかりで656みたいな無駄なところで手間ばかりかかりそうだし C#の場合初心者がVS使わずにやるのはかなりの縛りプレイだと思うわ
まぁ自分もそれやって時間を無駄にしたんだけどさ 分からないことを1つずつ潰してから次に進みたいってのはプログラマの真理だと思うが、
最近は技術範囲が広すぎて(というかフレームワークとかライブラリの守備範囲が広すぎて)、1つ1つ追いかけてると時間が足りない。
なので最近は分からないことあっても先へ進めてる。
我慢してやってると段々線で繋がってくる。
最初はめちゃくちゃ辛いが・・ 正直大前提となるdllの参照とか全然意識したことないヘボだけどvsが全部やってくれるから困ったことない
そもそもc#でvs使わないプロジェクトなんて聞いたことないので・・・ VSでテンプレート選んでプロジェクトを作成したら最低限の参照は設定されているし
追加する必要があるものはDocsの各クラスの説明を見れば全部書いてあるからねぇ .NET Core系の開発だと結構普通にプロジェクトファイルを手で弄る機会があるよ
最近はCI/CDのためにコマンドラインでビルドや実行をするケースも増えてる
もちろんプロジェクトファイルを1から手書きする必要はないけど、最低限dotnet コマンドくらいは使えて損はない 自動ビルド用にコマンド覚えようって話は同意なんですけど.net coreであってもコーディングはvsでやるほうが効率よくないですか?
よくわかってないんですが、サーバ上で開発するとかでvs使えないパターンがあるんでしょうか? 効率を考えるんだったらテンプレからコピペしてきて必要な箇所を自分用に書き換えるだけで済む
生産性の高さをウリにするというのは、そういうものを指す
コマンドを暗記してる暇があるなら、気の利いたコードスニペットを作った方が即戦力になるだろう 口が悪い人が多いねw
>>656の人の「基礎から理解したい」という心構えは(俺自身は全然持ってないからw)
俺なんか評価しちゃうけどなあ。
ただ、やろうとしていることは「応用範囲の広い基礎の習得」というより、
文明の利器が使えない状況を強いられるほぼありえない状況を想定した
「無人島サバイバル術」に近い気はするけどねw
もちろんそれだって趣味なら全然ありだよね。 ■ このスレッドは過去ログ倉庫に格納されています