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

■ このスレッドは過去ログ倉庫に格納されています
2021/05/16(日) 10:45:59.00ID:8qTwOc620
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
■関連スレ
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
2021/05/30(日) 20:33:04.19ID:borQq+I40
>>119
藪からスティック
2021/05/30(日) 22:58:30.65ID:bQ1dCiB60
>>118
newするたびにコードも複製される勘違いしてる知り合いが、似たような事を言ってたなあ
2021/05/30(日) 23:02:02.71ID:bQ1dCiB60
✘ コードも複製される勘違いしてる
○ コードも複製されると勘違いしてる
2021/05/31(月) 00:13:41.39ID:N0w7o/rO0
でかいクラスってメンバーが多かったりする奴を言ってるのかと思ったけどコードの話なの?
2021/05/31(月) 00:15:18.85ID:W0rzhAw20
Pentium無印で動かしてるかもしれないだろ
2021/06/01(火) 06:28:16.16ID:jX3vW8oh0
jsonの逆シリアル化について教えてください
以下のコードでローカルのjsonファイルを読み込み、逆シリアル化をしてオブジェクトを得たいと考えています

@var readJsonFile = File.ReadAllText(filePath);

Avar jsonDeserialize =JsonSerializer.Deserialize<List<Food>>(readJsonFile);

public class Food{
public string Name{get;set;}
public int Price{get;set;}
}

しかしAの部分が上手く行きません。
変数readJsonFileには所定のjsonファイルの内容を取得出来ているのですが、jsonDeserializeには値が入ってきません。
具体的にはデバッグで変数の中身を確認すると、jsonファイルに記述している項目数だけ要素は取得していますが、Name:null、Price:0の様にファイルに記載しているName等のデータがありません。
エラーなどもなく、何が原因なのか突き止めることが出来ません…。
初歩的な質問で申し訳ありませんがアドバイス頂きたいです。

長文失礼しました。
126デフォルトの名無しさん (ワッチョイ f101-upCQ)
垢版 |
2021/06/01(火) 06:43:19.75ID:H3fSzkBp0
そのjson上げてもらわないと何も回答できないのでは
2021/06/01(火) 07:00:41.85ID:jX3vW8oh0
>>126
申し訳ありません
jsonファイルには以下の様に記述しています

{
"name": "りんご",
"price":100,
},
{
"name": "みかん",
"price":80,
},
{
"name": "バナナ",
"price":90,
}
2021/06/01(火) 07:15:38.78ID:+vEQR5vy0
>>127
シリアライズは出来てるの?
2021/06/01(火) 07:21:03.13ID:+vEQR5vy0
属性とかなんか色々なくね?
必要ないやつとかもあんの?
https://dev.classmethod.jp/articles/c-sharp-json/
2021/06/01(火) 07:28:17.13ID:T5CL49Lw0
全体を[]で囲って配列にすれば、デシリアライズできるんでないの?
2021/06/01(火) 07:54:24.27ID:ILsKj6x4M
>>128
シリアライズは試していません
シリアル化、逆シリアル化はそれぞれ単体で利用出来るものと認識していたのですが、そうではないのでしょうか?


また以下の記事の注釈の箇所を参考にしたのでDataContractJsonSerializerは今回利用していないです
https://docs.microsoft.com/ja-jp/dotnet/api/system.runtime.serialization.json.datacontractjsonserializer
2021/06/01(火) 09:10:03.91ID:9OJVryW40
JSONもC#も(JavaScriptも)CaseSensitive
NameなんてプロパティJSONに含まれてない
DataContractJsonSerializerだとJSONのcamelCaseとC#のPascalCaseをよろしくやってくれる機能はないんだっけ
ならNameとPriceにそれぞれDataMember属性付けて
[DataMember(Name = "name")] public string Name { get; set; }
みたいにする
2021/06/01(火) 09:16:01.04ID:9OJVryW40
あ、System.Text.Json.JsonSerializer使ってるのか
ならDeserializeの第2引数でPropertyNamingPolicyにCamelCase設定したJsonSerializerOptionsを渡せばいい
2021/06/01(火) 13:01:10.23ID:ILsKj6x4M
>>133
ありがとうございます
PropertyNamingPolicyを指定すると所望の動作をしてくれました

試しに上記の指定をせず、jsonファイル側の要素をname→Name、price→Priceのように大文字にすると読み込む事も確認出来ました
ただ、ファイル側で合わせ込むのは良いやり方ではなさそうなので教えて頂いた方法を使わせて頂きます

大文字と小文字で挙動が変わるのは想像していませんでした
勉強になりました、ありがとうございます
2021/06/01(火) 13:48:21.14ID:oPLrhaHk0
いいってことよ。
2021/06/02(水) 20:02:38.34ID:fQXhEp9r0
form1の中にパネルを貼りそこにformAとformBを追加しました。
追加したformのTextBoxの値ってどう取得するんですか?
2021/06/02(水) 23:11:47.41ID:HCRiwZzS0
>>136
OKボタンを押したときにstring型のpublicメンバ変数にTextBoxの値を入れてCloseメソッドを呼ぶ
呼び出し側のShowDialog的な奴の下でpublicのメンバ変数に入れた値を取得する
2021/06/03(木) 01:34:00.02ID:BJRoM0uaa
>>136
「どう取得するか?」という発想がそもそも間違ってる。
Formから知りたい情報はFormにプロパティとして公開してもらうようにする。
Formというお店の厨房にづけづけ乗り込んで今日のおすすめを
聞き出すようなコードを書いてはいけない。

それとそういう用途には普通はFormじゃなくてUserControlを使う
2021/06/03(木) 19:27:38.16ID:5o+Zn3rd0
質問なんですが
フォルダを監視したいのですがFileSystemWatcherクラスでCreatedイベントを漏らした時の為に
Timer1_Tickでフォルダを定期的に監視し、差分で新しいファイルをあぶり出したいのですが
これだとリネームした時も、新規ファイルだと誤爆してしまいます

こうゆうときCRCでチェックして同一ファイルだと確認するのが一般的なのでしょか?
2021/06/03(木) 19:42:46.99ID:t//U1Ozza
リネームは削除と追加だよ
2021/06/03(木) 20:17:50.85ID:1FWgE7zOM
>>139
CRCより中身比較の方がコスト低くない?
142デフォルトの名無しさん (ワッチョイ 2b10-6ypv)
垢版 |
2021/06/03(木) 20:42:39.32ID:tM/D16b60
FAQっぽいですけど、
pthreadの pthread_cond_* にあたる機能は.netだとどれでしょう?

Mutexは見つけたんですが…。
2021/06/03(木) 20:46:48.63ID:FwOpqBj60
https://milestone-of-se.nesuke.com/sv-basic/windows-basic/ntfs-filesystem-structure/
2021/06/03(木) 20:56:09.09ID:C4Iav00n0
>>141
比較元のデータとしてファイルの中身を丸ごとコピーでもするの?
2021/06/03(木) 21:03:58.18ID:5o+Zn3rd0
>>140
れすさんくすです、ファイルのプロパティみても更新日時が変化するだけで
削除と追加のしっぽをつかまえるのはできませんでした

>>141
れすさんくすです、1個1個のファイルのCRCチェックって確かにやりたくないですね
中身比較って2つのファイル開いてバイナリで比較していくってことでしょか?
2021/06/03(木) 21:27:04.30ID:qi9W3pS/M
えっと、そもそも>>139の前提の
> FileSystemWatcherクラスでCreatedイベントを漏らした時
って、FileSystemWatcherってOSのファイルシステムの機能で動いてるから
少なくとも現在のWindows版の.NETなら起こらないと思ってたんだけど・・・・
本当に漏れるようなことがあるの?
FileSystemWatcherの使い方が間違ってバグってるとかじゃなくて?
2021/06/03(木) 21:57:21.53ID:YfnwbSJk0
>>142
知らんけどAutoResetEvent/ManualResetEventとかそうじゃないの

>>146
少なくともバッファあふれはありうる
現実に起こるかどうかは分からんが
2021/06/03(木) 22:05:51.02ID:5o+Zn3rd0
>>146
ファイルを同時に10個つくったりとか、他に重いアプリあったりしたら
結構取りこぼします、なんとゆう中途半端なクラスだとおもた
2021/06/03(木) 22:08:44.52ID:Ci0sS5ul0
>>142
状態変数が一対ならMonitor.Wait/Pulse
複数ならMunualResetEventSlimをベースに色々使ってがんばれ
2021/06/03(木) 23:47:49.94ID:qi9W3pS/M
>>147,148
であればバッファサイズを大きくすれば解決するんじゃ
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.filesystemwatcher.internalbuffersize?view=net-5.0
と思ったら既定値は8KB、最大でも64KBなのかあ
64KBにしてもとりこぼし一杯ということであればFileSystemWatcherでの監視は実用に耐えないってことになりそうだね
2021/06/04(金) 00:40:20.91ID:4xQVKZkva
FileSystemWatcherほとんど使ったことないけど、ドキュメントを素直に読めば
イベントのバッファを最大にすれば未処理のイベントが4096を超えない限り
オーバーフローは起こらないはず。

本当に取りこぼしなんて起るの?w
何か使い方間違ってへんか

まあ本当に起こると仮定して、ドキュメントには何も書いてないけど
FileSystemWatcherのイベントはたぶん常に同じスレッドからraiseされてるはずで、
であればイベントハンドラでちんたら重い処理をやると当然FileSystemWatcherの
イベントのキューを溢れさせる原因になりうる。

だったらイベントを処理する側もキューを持って、FileSystemWatcherのCreatedイベントハンドラでは
そのキューにFileSystemEventArgsをぶち込んだらすぐに抜けるようにしたら結構改善するんじゃないだろうか?

いや知らんけど
2021/06/04(金) 08:37:09.09ID:6Sv89xIa0
俺は割と使うけど、あんまりとりこぼした事は無いな。
まあ確かに、その通りで割り込みだと思ってイベントハンドラで上がってきたら即キューに入れてた。
2021/06/04(金) 09:18:56.44ID:qGu+M2wT0
UWPのStorageLibraryChangeTrackerてのが凄いんだけどね
通常の監視どころかアプリが止まっている間の変化も記録して
アプリの起動時に通知してもらえる

但し音楽やビデオ、画像のライブラリ限定だから使えるアプリはそれほど多くない
帯に短し襷に長しだわ
2021/06/04(金) 10:57:48.59ID:o1VgqeFH0
>>150
さんくすね、バッファサイズを大きくしても根本的な解決にはならないとどこかで見て
やってませんでした、一度MAXまで上げて実験してみます
>>151
レスさんくす、FileSystemWatcherのイベント→PathをListBoxに→Timer1_Tickで処理
みたいにしてます、ファイルサイズ見て比較程度の処理しかしてないから多分重くは、
>>152
なるほど自分のコーディングがまずい可能性
>>153
使い道がピンポイントですね、Windows上にリネームとかのファイル操作の履歴があれば
2021/06/04(金) 11:29:03.52ID:hlBLv8XD0
ファイルのタイムスタンプ使えばよくない?
リネームでLastWriteTime更新される?

同じコンテンツを2度処理したくないなら
ハッシュを記録しておいて比較すればいいけど
それはタイムスタンプでフィルタするのとは少し意味が違う
2021/06/04(金) 11:35:13.54ID:qGu+M2wT0
>>154
https://docs.microsoft.com/ja-jp/uwp/api/windows.storage.storagelibrarychangetype?view=winrt-20348
一応リネームも検出可能のようだ。UWPのAPIを,net frameworkで使うことが出来るから、これが動くならいいけどね
一番の問題は情報は可也少ないよ
2021/06/04(金) 16:09:29.79ID:o1VgqeFH0
>>155
れすさんくすです、確かにタイムスタンプでよさそうな気がします
LastWriteTimeはリネームで更新されるので、
CreationTimeとSizeを足した値をハッシュがわりにしようかと

>>156
レスサンクスです、変更トラッカーみました
ファイルの変更を受け取ることができて、変更あったらアプリをアクティブ化できる
って結構強力な感じがしますね、やりたいことドンピシャなんですが、ちょと難しすぎます
2021/06/04(金) 16:54:48.33ID:gpmxKXqk0
>>148
実務で10年以上動いてるFileSystemWatcher使ったサービスあるけど取りこぼしたことは一度もないぞ?

何か使い方が間違ってると思う
2021/06/04(金) 19:38:18.51ID:U3xCtKY+0
>>147
>>149

ありがとう御座います!
Monitorがまさに探していた機能でした!
2021/06/04(金) 21:00:46.11ID:o1VgqeFH0
>>158
まじでっ、一度コードをシンプルにして実験してみます
ありがとうございます

ちょっとバッファをwatcher.InternalBufferSize = 65536;にしたらちょとマシになった気がします
2021/06/04(金) 21:18:38.44ID:THKvF98Aa
あとちょっと気になったのが、SynchronizingObjectを設定してUIスレッドでイベントが起こるようにしてたら
たとえイベントハンドラが軽量であってもUIスレッドで重い処理をやってたらその間は当然イベントは
起動されずバッファーにたまってしまうはず。

まあ今時UIスレッドで重い処理を書いちゃう人がいるとは思えんけど
162デフォルトの名無しさん (ブーイモ MM71-f+mB)
垢版 |
2021/06/05(土) 00:34:20.17ID:UFxnTq6PM
親クラスの型ならば
継承したクラスでも親メソッドが呼ばれるのが気持ち悪いです。

どういう利便性や方針があってそうなっているのでしょうか?
2021/06/05(土) 00:46:21.91ID:KWhOblPR0
>>162
「オブジェクト指向」とGoogle検索
164デフォルトの名無しさん (ブーイモ MM71-f+mB)
垢版 |
2021/06/05(土) 00:48:56.54ID:UFxnTq6PM
どういう思想に基づいてそうなっているのでしょうか?
Javaならこんなときでも子クラスのメソッドが呼ばれるはず。このほうがしっくりくる。
C#はvirtualとかoverrideと書かねばならぬのも記憶のコストがかかって嫌い。
2021/06/05(土) 00:57:49.40ID:KWhOblPR0
思想は知らないが、あなたがjavaラーだから気持ち悪いと思うのでは?
親の名前なんだから親が動くでいいんじゃん?
2021/06/05(土) 01:03:39.05ID:0C8ccwu5a
親のモノは子供のモノ
167デフォルトの名無しさん (ワッチョイ 2d8e-Wt59)
垢版 |
2021/06/05(土) 01:11:09.73ID:HEfJq5i50
>>164
単にお前が馬鹿なだけだろ
2021/06/05(土) 01:19:41.47ID:u8ssEMona
>>162
ちょっと何言ってるのかよく分からんけど、
オーバーライドと隠蔽(new)を混同してない?

サブクラスでオーバーライドしたメソッドは、そのインスタンスがたとえスーパークラスの変数に
入っていようが無関係にサブクラスで再定義されたメソッドが呼ばれる。

「親メソッドが呼ばれ」たりしない。
それはオーバーライドじゃなくnewした時だけ
2021/06/05(土) 01:32:23.81ID:pzTWcRwba
>>162
1.最適化のため
2.すべてがvirtualだと親クラスはすべてのメソッドがoverrideされうることを想定しなければならないので設計が困難になる
2021/06/05(土) 08:24:34.54ID:5AlvgRB30
>>161
レスサンクスね、SynchronizingObjectは設定してないです
でも、そんな感じで重くなってるかもしれません、
ファイルを管理するクラスに詰め込んでいるせいかもしれません
やることが見えてきました
2021/06/05(土) 17:58:38.56ID:uwZf1eg30
ListViewで選択→PictureBoxに描画したい。描画する絵は連続した折れ線で曲線はなし。ListViewに転記するのはデータNo等を表示。
PictureBoxに描画するのには座標点などが必要と思うんですが、どんなFileを作り、どんなデータを入れとくのがよろしいですか?
2021/06/05(土) 18:53:27.80ID:hz/y86P/a
>>171
>ListViewに転記するのはデータNo等を表示。
ごめん、10回読んだけど何を言ってるのかさっぱり分からないw
2021/06/05(土) 23:57:44.51ID:uwZf1eg30
>>172
ごめんなさい。
ListViewに描画したいファイル名などの一覧を表示しておいて、選択したそのファイルを読み込んでPictureBoxに描画したいんです。
そこで、描画する為に適したファイルや、どのように座標点など保存すればようでしょうか?
2021/06/06(日) 08:27:26.80ID:5U5467og0
まず固定のファイル読み込んでPictureBoxに表示するまでを作って、
それからListViewでファイル選べるように拡張してください
結局のところ、何もかもわからないんでしょうけど
2021/06/06(日) 08:45:40.57ID:yEkluAsv0
ますます何言うてるか分からんが、
自前で座標情報を基に描画するなら、PictureBoxじゃなくてCanvasだろ。

WPFならね。。
2021/06/06(日) 10:37:14.40ID:GbQ7CI8h0
PictureBoxって時点でWPFじゃなくてWinFormsなのは一目瞭然だろ
いきなりCanvasがーって言ってるお前かなりヤバいよ
2021/06/06(日) 11:43:50.45ID:C8RwWcM+M
InageListを作る
2021/06/06(日) 13:12:39.13ID:zdsuBAAw0
一回でもPictureBoxに画像を表示してみたことがあるのか怪しい
2021/06/06(日) 19:51:37.48ID:TKDfd6fka
>>173
もうちょっと読み手の立場になって質問した方がいいと思うよ。
結局何が聞きたいのかどうもよく分からない。

まとまったデータをお手軽にファイルに保存したり復元したいなら
シリアル化が第一選択。シルアル化の方法はいろいろあるのでググって自分で調べて選択してください。
2021/06/06(日) 21:31:36.38ID:p6YlScZr0
最終的に何が作りたいのか?を書けば早い
似たようなツールがあるならその部分を出せば早い
2021/06/06(日) 21:57:10.41ID:bRg8+mhR0
つか、特殊な用途まで全部置き換える必要はないだろ
それが出来ないから.NET5は使えないという方がおかしい

MSはMSIXとストアでメインをやるつもりなんだし
2021/06/06(日) 21:57:54.57ID:bRg8+mhR0
あ、誤爆だ
ごめん
2021/06/06(日) 23:00:15.42ID:TZLMH0nq0
初めてC#を触ってみようと思っている者です。
Visual Studioインストールして、「実戦で役立つ C#プログラミングのイディオム/定石&パターン」の本に書かれているものを動かそうとしているのですが、エラーが出ます。
(ネットに書かれてるHello,World!は動かせました。)
どのようにしたら本に書かれてるものを動かすことができるか、教えて頂けませんでしょうか。
2021/06/06(日) 23:38:33.35ID:ovJCnzuP0
>>183
どんなエラーかコピペしてみて
2021/06/07(月) 00:19:44.20ID:zaOoMQToa
自分以外はみんなエスパーだと思ってるのか、悪意でわざとやってるのか、
それとも天然なのかw

いずれにせよちょっとひどすぎるね
2021/06/07(月) 02:16:40.16ID:zPol7W/x0
これをエスパー出来ないならプロとは言えないね

.net落としてないんじゃね?
2021/06/07(月) 02:57:54.01ID:a/6zg2G30
.net frameworkじゃなく、.net5で組んでしまってるとかじゃないか。
いままで組んできた人は問題ないが、初めてC#と.netの世界に来た人は、別だとも思わないだろうし足をすくわれるかと。
しかも2019だと、.net frameworkが結構見つけにくい。
188デフォルトの名無しさん (ブーイモ MM39-u/gC)
垢版 |
2021/06/07(月) 05:54:54.21ID:Ye13f02sM
>>183
Hello Worldができるなら次はザ・ワールドだ。段階を追って成長していこう。
2021/06/07(月) 11:03:01.40ID:mJGxopfd0
>>185
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
2021/06/07(月) 15:18:04.07ID:2X7qaFYwa
>>189
スレッドの趣旨は尊重するよ。
その「低レベルな質問」の低レベルとは日本語の能力や質問能力も含むの?
常識的には違うんじゃないのかな。

許容されるべきなのはあくまでプログラミングの初心者だよね
2021/06/07(月) 15:30:33.66ID:V1O1oOig0
環境構築すら分からない初心者ならどこが分かってないかすら分からないでしょ
だからこそ>>184を書いたわけ
酷いと思っても言葉にせず飲み込むのがこのスレのルールだし、
>>183の質問の日本語が破綻してるとも思ってないよ
2021/06/07(月) 15:38:21.95ID:2X7qaFYwa
だから何を理解してないかを理解している必要はない。
必要なのは自分の直面している問題を他人に正確に理解してもらうこと、
少なくともそういう努力をすることだ。
>>183にはそういう努力の痕跡を感じない。

エラーが出ます
何だよそれふざけてるのか。
普通はこうじゃないか。
193デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/07(月) 15:39:25.40ID:8ILcpsz2M
その本を見たことがないひとはお断りの質問だからね
読んだことがあるやつならつまづきポイントも予想できるだろう
2021/06/07(月) 15:41:56.89ID:2X7qaFYwa
家電やソフトウェアのサポートセンターに相談するのにその製品を熟知している必要はない。
だからといって、

「エラーが出てるから何とかしてよ」

これじゃサポセンのお姉さんも困っちゃうよw
2021/06/07(月) 15:49:19.14ID:vppGJBrX0
質問者を横に殴り合いを始めるいつもの光景
2021/06/07(月) 16:06:22.75ID:V1O1oOig0
>>192
そう思うならスルーするのがルールだよ
ルール違反の方がマナー違反より質悪い事くらい理解しなよ
2021/06/07(月) 16:18:15.29ID:6n3ye4AA0
>>195
これ
2021/06/07(月) 16:23:31.02ID:TK3hG12A0
ここのサンプル見たらv4.5.2依存なのでその環境が無いんじゃないかな
https://gihyo.jp/book/2017/978-4-7741-8758-7/support

何章・何節のどのコードでどういうエラーが出るのか書いてくれれば
わりとすぐ原因分かると思うよ
199デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/07(月) 16:30:38.76ID:8ILcpsz2M
あまり情報を出しすぎると解決されてしまい悔しいので……
2021/06/07(月) 16:31:44.36ID:vHTzOnV3x
datetimeについての質問です。
指定した日時の曜日、その月は何日まであるのかという情報を取得したいのですが、
datetimeの使い方を検索すると、現在の日時の取得するばっかりでてきてほしい情報がないです。
どうすれば、指定した日付で、曜日や日数を取得できるのでしょうか?。
201デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/07(月) 16:32:45.68ID:8ILcpsz2M
F1キーがオススメです!
2021/06/07(月) 16:39:30.08ID:rS0k1tFj0
>>200
DateTime.DayOfWeek
DateTime.DaysInMonth()
https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime?view=net-5.0
2021/06/07(月) 16:58:25.25ID:fIvdx7SM0
>>200
DateTimeクラスのコンストラクタ呼び出しで調べたい日を引数にして呼び出して
(簡単なのは年月日時分秒でしていするのかな)、確保したインスタンスの
DayOfWeekプロパティに指定した日時の曜日情報がDayOfWeek列挙型定数として
保存されている

月の日数はスタティックメソッドのDateTime.DaysInMonthで調べられるらしいよ
2021/06/07(月) 17:04:08.04ID:qN7i706La
>>196
それは君のルールであってスレッドのルールでも俺のルールでもない。
だいたい偉そうに言ってる自分のやってることは何なんだよ。
お前のリプは悪いリプ
俺のリプは正義のリプだ、ってか(笑)
2021/06/07(月) 18:15:25.64ID:oEHCr3aBD
>>204
>>1くらい読もうや
2021/06/07(月) 18:34:04.20ID:qN7i706La
>>205
馬鹿な奴だ>>190

だいたい「お前のやってるいことは何なんだ」といってるそばからこれだ。
俺様は特別?ああそうですか(笑)
自分棚上げとか人間として最低だと思うがな
2021/06/07(月) 19:09:02.00ID:hhCMqshC0
目くそと鼻くそと馬のくそだな
208デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/07(月) 19:12:18.38ID:8ILcpsz2M
初心者プログラマーの為のスレであって
初心者プロファイラーはお呼びでは無いッス
僅かな書き込みから真実を見つけ出す熟練プロファイラーだけが書き込めるッス
2021/06/07(月) 19:25:20.85ID:PkBW/2H40
>>200
datetimeについての質問です。っていう質問がおかしいんだよ。
datetimeってお前が作った変数じゃないの?
2021/06/07(月) 19:32:41.27ID:rS0k1tFj0
プログラム初心者が質問の仕方がなってないのはよくあることだし
質問の仕方を教えたら良いだけで、それが嫌ならスルーすべき
いちいち怒ったてたら初心者が委縮して寄り付かなくなっちゃうよ
2021/06/07(月) 19:39:47.74ID:MYtn1DIP0
なんでも質問できるような面しておいて
気に食わないときは叩き潰そうぜ
212デフォルトの名無しさん (ワッチョイ 868e-Wt59)
垢版 |
2021/06/07(月) 19:48:44.02ID:F/OHBSZZ0
>>210
私はプログラム初心者です
あなたは馬鹿ですか?
213デフォルトの名無しさん (ワッチョイ 7954-llGL)
垢版 |
2021/06/07(月) 20:09:51.48ID:31gUAopA0
IEnumerableにAppendで要素を追加してからCountを参照しても0になっています。

IEnumerable<Person> PersonEnum = IEnumerable<Person>();
PersonEnum.Append(new Person());
MessageBox.Show(PersonEnum.Count().ToString()); //なぜか 0

下記のようにすれば正しい要素数を得られます。
IEnumerable<Person> PersonEnum = IEnumerable<Person>();
PersonEnum = PersonEnum.Append(new Person());
MessageBox.Show(PersonEnum.Count().ToString()); //正しい数が表示される。

これは何故でしょうか?
2021/06/07(月) 20:20:42.86ID:vKe1xauk0
そういうもんだから
IEnumerable<Person> PersonEnum = new Person[0];
のPersonEnum自体に追加しろって言われても追加できないでしょ
2021/06/07(月) 20:24:00.69ID:LkPZR8+jM
>>213
https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.append?view=net-5.0
このサンプルコードのコメントにズバリ答えが書いてある
2021/06/07(月) 20:25:01.48ID:fOxqxjaW0
>>213 Enumerable.Append<TSource>(IEnumerable<TSource>, TSource) メソッド (System.Linq) | Microsoft Docs https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.append

> 注意
>このメソッドは、コレクションの要素を変更しません。 代わりに、新しい要素を使用してコレクションのコピーを作成します。
2021/06/07(月) 20:25:21.61ID:fOxqxjaW0
ごめんクソかぶった
2021/06/07(月) 20:25:59.64ID:31gUAopA0
>>214-216
皆さんありがとうございます。
納得いきました。
2021/06/07(月) 21:01:52.24ID:vHTzOnV3x
>>202-203
回答ありがとうございます。
無事情報の取得ができました。
ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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