X



ふらっと C#,C♯,C#(初心者用) Part147
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん (エムゾネ FF9f-HF0o)垢版2020/02/19(水) 17:25:41.55ID:IsrGexiaF
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://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/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://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
0852デフォルトの名無しさん (テテンテンテン MMb6-8pht)垢版2020/05/22(金) 13:22:07.31ID:jD2+szsjM
>>849
そういう問題じゃない
注文相手がウェイトレスだろうと厨房にいる店主のオッサンだろうと、客がすることは「注文を店の人に伝える」だ
その注文を受けて店がどうするかという実装の詳細は知ったことではない
ケースバイケースで判断するべきは、そのフォーム同士のやり取りが客と店の間で行われるのか、それとも店の中で行われるのか、という点
後者なら例えばウェイトレスが厨房の設備のレイアウト等を知っていることを前提としてコックへ依頼をすることは店の規模次第では許されるし、そうしたほうが手っ取り早いケースは多いだろう
これは突き詰めると責任分界の問題で、フォームの役割や開発チームの構成等によって最適解は変わってくる
0855デフォルトの名無しさん (ワッチョイ ba52-NhWw)垢版2020/05/22(金) 14:44:15.74ID:YTFb7Y3X0
>>853
初心者のうちに気づける失敗はどんどん経験させた方がいいと思うけど、今回の話みたいに、規模が小さいうちは悪手でも問題なくてそれに気づかず変な癖をつけてしまって、後になって大きな規模で問題に直面することもあるからちゃんと説明するのは大事だと思う。
0870デフォルトの名無しさん (ワッチョイ 032d-ze6u)垢版2020/05/23(土) 11:45:11.67ID:USRRjb5n0
withってコンストラクタは呼ばれるのかな?
0872デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/23(土) 12:58:29.38ID:MMWDLofe0
何気にトップレベルで直接プログラムが開始できるの嬉しいな。
小さいスクリプト的な使い方で便利になるかもしれん。
dotnet run xxxx.csみたいに出来ると言うことないな。
0873デフォルトの名無しさん (ドコグロ MM92-zJk2)垢版2020/05/23(土) 14:33:05.59ID:N5u382BOM
>>872
個人的にはやり過ぎだと思うわ
コンパイルが不要になるわけじゃないしちょっと複雑なことしようと思ったら変数宣言も要るからあんまりメリットに思えない
スクリプトならPowerShellでお腹いっぱい
0875デフォルトの名無しさん (テテンテンテン MMb6-8pht)垢版2020/05/23(土) 14:50:01.02ID:rR3WkHU8M
今時のWeb開発だとマイクロサービス指向で小物を沢山作ることが多くなってて、
振る舞いを色々備えててカプセル化とかもきっちりやったリッチなモデルよりも、単にデータクラスを関数で弄るだけみたいなスタイルが主流になりつつあるんだよ
Main省略もその文脈で言えば自然
最近のC#周りは完全にアメリカで主流な内製開発に迎合していて、日本のドカタには理解されにくいね
0876デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/23(土) 15:00:31.21ID:MMWDLofe0
>>873
コンパイルがまるで不要かのように振る舞わせたいんだと思うよ。
replできたり、dotnetコマンド見てると。
確かに、csxはどうしたいんだろうな。
個人的にはPowerShellは抵抗感あるかもしれん。
0877デフォルトの名無しさん (アウアウエー Sa52-NLVI)垢版2020/05/23(土) 16:46:21.29ID:wudsPJksa
新しいものごとを追求するのはNodeとかにまかせておけばいい
静的並の型安全性、動的の起動速度、モダンな構文、モダンな機能、豊富なパッケージと全てが揃ってるからC#が追いかけても勝ち目ない
C#に求められてるのは業務向けの特性、つまり安定性、安全性、後方互換性、学習の簡単さ(シンプルさとも言える)とかだよ
ポストJavaにふさわしい言語に育ってほしい
0878デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/23(土) 17:07:15.43ID:MMWDLofe0
追いかけてると言うよりも、ニーズがあるんだと思うよ。
実際にはnodeとかより、同じコンパイル言語のkotlinあたりからの機能な印象が強い。
initアクセサとか。
あと、データクラスの
public data class Person(string FirstName, string LastName);
は実際、滅茶苦茶便利だと思う。これもkotlinでもできる。

ポストJavaは言うとおりだと思うけど。
0880デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/23(土) 17:39:18.54ID:MMWDLofe0
Java並の求めるレベルがわからんが、OS無しのJavaチップとかまで入れられると完敗だな。
.net coreであれば、LinuxかmacかWindowsなら、ってレベルで良いなら全然大丈夫だし、armでも動くし、
.NET 5なら純正でAndroidやiOSでも大丈夫って言えるんじゃない?
0881デフォルトの名無しさん (ドコグロ MM03-zJk2)垢版2020/05/23(土) 17:53:05.15ID:/js8a+7YM
>>876
> コンパイルがまるで不要かのように振る舞わせたいんだと思うよ。
それはあまり無理なくできると思うけど、今の言語仕様のままだと
class Program{
 static void Main() {

 }
}
を書かなくて済むって言うだけだからそんなに嬉しいような気がしないんだけど
> 個人的にはPowerShellは抵抗感あるかもしれん。
まあPowerShellは好き嫌いがあるとは思う
俺も配列周りはちょっと嫌
0884デフォルトの名無しさん (オッペケ Srbb-crVl)垢版2020/05/23(土) 20:35:16.02ID:82HS7qFwr
普通にC#はすたれていくと思う
他の言語より優れた面がかなり少なくなってきて仕様がファットになりすぎてきてる
それでいて簡便にも書けない

思想が違うのはわかるけど…
0885デフォルトの名無しさん (ワッチョイ 2702-CPqG)垢版2020/05/23(土) 20:55:20.41ID:e9KeJQaL0
別に開発環境なんて何でもいいじゃん。
要望があったり、使いやすいものを選択すればいいだけ。
言語スレで言う台詞じゃないけど。w

C# は言語仕様もそうだけど、それ以上に VS が秀逸すぎる。
0886デフォルトの名無しさん (ワッチョイ 9a6a-crVl)垢版2020/05/23(土) 21:24:54.50ID:Gttmmg320
>>878
未確認飛行を読むとinitなんかは随分前から課題になってたらしいね
0892デフォルトの名無しさん (ワッチョイ 032d-ze6u)垢版2020/05/23(土) 22:38:04.92ID:USRRjb5n0
Webの学習は心が折れるわ
ASP.Net coreのチュートリアルは長い上、終わった部分にも結構な謎が残る
例えば、データベースサーバをアカウント管理とそれ以外と別にしたい場合、どうするのが正攻法なのか?とか、全然わからん
0894デフォルトの名無しさん (ワッチョイ 032d-ze6u)垢版2020/05/23(土) 23:51:57.43ID:USRRjb5n0
そこを1文切り取られちゃうとそうかもな
どうか、ASP.Net coreを使うときの話でって前提で頼みまんす
0895デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/24(日) 00:05:07.40ID:gPIK88xN0
C#廃れるかな?
ここが巻き返し時だと思うけど。
Windowsで開発するときはC#一択だったのが、他の環境でもC#を選べるようになってきたんだし。
ファットと言うほどファットでないと言うか、必ずしも使わなくても良い機能は確かに増えたけど、使わなければ良いだけだと思うけどな。
Xamarinが.net本家に合流とかときめくけどね。

>>886
そうなんだ?あんまり最近読んでなかったな…
0897デフォルトの名無しさん (テテンテンテン MMb6-8pht)垢版2020/05/24(日) 00:24:21.69ID:TzQxyCjoM
>>894
コネクションを複数使い分けたらいいだけだろ
EFならDbContext分けるだけ
フェデレーションとか使う手もあるが、インフラに変な前提を持ち込むのは個人的にはお勧めしない
管理対象が増えて結果的に余計に面倒になる
0898デフォルトの名無しさん (アウアウウー Sac7-8pht)垢版2020/05/24(日) 00:37:52.59ID:j6xo7mIMa
廃れるかどうかはAzureで.NETアプリのPaaS環境をどれだけ整備できるか次第じゃないかな
少なくとも今のAzure App Serviceはクソ以外の何者でもないし、
最近のAzureはコンテナに傾倒してるが.NETアプリをコンテナ化するニーズとか皆無なので厳しい状況だが
0902デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/24(日) 08:52:34.10ID:gPIK88xN0
あれはまぁ確かに。
やらかしたと思ったけど。
ただ、若い姉ちゃんだったから余計に問題になったんだけど、なんとかユーザーグループってえらいおっちゃんにも囲む会とかするぞ。
で、ユーザーグループでの事案を選定の対象外にするのはちょっとお門違いな気がするわ。
正式セミナーではなくて、ユーザグループの勉強会だしな。

>>901
Xamarin勉強会で誕生日祝って、結果的にサイン会とツーショット会になった。
0904デフォルトの名無しさん (アウアウウー Sac7-vdj3)垢版2020/05/24(日) 09:12:12.58ID:XUG+Lg/fa
へ?それだけ??
何か刑事事件になるような話だったりパワハラセクハラ方面の倫理的な問題とかでもなくて?
開発技術選定に影響を与えるような話には思えないんだけど
>>900のいう「まともな会社」ってのはこういう話を基準に意思決定するものなのか
0911デフォルトの名無しさん (ワッチョイ 6301-UYz0)垢版2020/05/24(日) 09:40:59.00ID:0NoVcrVy0
別に本人が悪いとは言っとらんでそ。

JXUGのポジションがおかしい
MS系のセミナーなんて品川や新宿でも
やっていたんだが(SE主催とか本社主催とか)、
主催者が俺達はお前らより偉い。
理由は神に近いからだってスライドあげて
同意を得られると思う?
0912デフォルトの名無しさん (ワッチョイ 33a7-2bic)垢版2020/05/24(日) 09:44:09.04ID:HTbn0mhn0
>>910
でもね
みんなやたらと情報出て来ないし
割りかし本気でそういう意図なの?って思ったんだよ

俺らと仲良くしないとxamarinでの開発はできないからね

っていう意図に感じた
その後に気持ち悪いケーキカットでしょ?
ああ、そう、そうなのね・・・
0913デフォルトの名無しさん (アウアウウー Sac7-vdj3)垢版2020/05/24(日) 09:47:54.26ID:XUG+Lg/fa
えっと、気持ち悪いのはXamarinコミュニティ界隈ってことなのね?
>>905の書き込みのほうがよっぽどネットストーカーというか気持ち悪いアンチっぽく見えたんだけど

ていうかC#が廃れる原因がちょまどって話じゃなかったのね、誤読してたわ
Xamarinは使ったことないから自分にはわからん
0915デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/24(日) 09:51:50.80ID:gPIK88xN0
まあJXUGに関してはどうとも言えんけど、別に喧嘩しながらやる必要もないし、逆に仲良くしながらやる必要もないぞ。
Xamarin普通に使ってるけど、とくに利益相反は無い。
Xamarin自体は良いもんだから、それが誤解されるのはちょっと悲しいわ。

あんまり変な色眼鏡で見ないほうがいいと思うの。
0918デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/24(日) 10:03:40.11ID:gPIK88xN0
いちいちユーザーグループのいち登壇者のいちスライドに対して反論したりしてたらきりないっしょ。
なんか、よっぽど嫌いなんだなとしか言いようがないと言うか。

ちょっとその反応度の高さに引くわ。
ユーザグループとかああいうノリ自体、輪に入る、聞き流すという行為が苦手なのかね。
0920デフォルトの名無しさん (ワッチョイ 9a1a-fHJf)垢版2020/05/24(日) 10:19:41.16ID:Zr7A90Cs0
>>909
うわ吐きそう
0921デフォルトの名無しさん (アウアウウー Sac7-8pht)垢版2020/05/24(日) 10:20:21.28ID:N7cNYcK3a
>>918
ちょまど祭り上げはde:codeの公式セッションなんかでも結構やってるよ
AWSやGCPのイベントにも何度か参加したけど、それらに比べても明らかにノリが気持ち悪いのは残念ながら事実
あれ米国MSのゲストも変な顔してたしいい加減怒られるんじゃないか
0925デフォルトの名無しさん (ワッチョイ 5b40-m5P2)垢版2020/05/24(日) 11:38:45.43ID:X8UkIXV20
何の話だと思って調べてみたら、男ばかりのオタコミュあるあるやん
持ち上げにノルひととノラナイひとで対立させた以上、これをサークルクラッシュと呼ぶんだよなぁ・・・
0926デフォルトの名無しさん (アウアウウー Sac7-lIs9)垢版2020/05/24(日) 13:20:51.13ID:GPV2jvNGa
日本人のメンタリティーの基盤ってつくづく「村人」なんだねw
どのセクターもみんな「村」の中の人間関係に対する関心が異様に高い。
横溝正史の小説の世界だな。

日本人のこういうところ、他人事として俯瞰してみたら陰湿でダセーと思う人の方が
多いはずだと思うんだけど
0929デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/24(日) 16:23:34.69ID:gPIK88xN0
よくそんな基準でNG出るなぁ。
結構不思議かもしれん。
MSが明確にあのイベントのあの取り組みを後援したならそりゃNG出るだろうけど、特に止めなかった程度でコンプラ違反として扱うのはどうかと思うが。
単純に興味があるが、MSがなんていう声明を出せば良いんだろう?
別に庇ってるわけじゃなくて、一部に悪ノリがあることはわかってるが、我々の関知するべきものではないという判断なんだが。

うちは普通に使うべきシーンでは使ってるけどな。
というか技術選定にコミュニティも何も無いと言うか。
便利なのにもったいない。
0930デフォルトの名無しさん (アウアウエー Sa52-pTKR)垢版2020/05/24(日) 17:03:31.11ID:x8aMDsmma
J●UGってロクなの無いな
0931デフォルトの名無しさん (アウアウウー Sac7-lIs9)垢版2020/05/24(日) 21:48:37.40ID:GPV2jvNGa
ちょっと質問

SynchronizationContext.Sendって引数で渡したデリゲートが同期コンテキストのスレッドで
実行完了するまでブロックされるって理解で合ってたっけ?
0934デフォルトの名無しさん (アウアウウー Sac7-lIs9)垢版2020/05/24(日) 23:16:15.55ID:GPV2jvNGa
>>933
ありがと!
0935デフォルトの名無しさん (ワッチョイ 032d-ze6u)垢版2020/05/25(月) 16:52:16.63ID:CLMMg9Ns0
すまんが、継続的に動かしたいタスクの抜け防止ってどうやるの?
素人考えでこんなのをタスク処理の最後に入れてるんだけど・・・・もっとまともな書き方あるのかな
while (cancellationToken.IsCancellationRequested == false){
await Task.Delay(1000);
}
0937デフォルトの名無しさん (ワッチョイ 9a84-BCZG)垢版2020/05/25(月) 17:24:53.54ID:qg6WFaTF0
別に問題ないと思うけど
タスクの最後にwhileループって言うのが良く意味がわかんないけど
バックグラウンドにしたい処理をwhileの中に記述して「IsCancellationRequested」が
「false」な間whileで無限ループが普通じゃないかな
あとDelayが1秒ならばどうでも良いのかもだけど、Delayに「cancellationToken」を
指定してエクセプションをキャッチするようにしておくと、Delay時間待たなくても
すぐに処理終われるとか
0938デフォルトの名無しさん (ワッチョイ 032d-ze6u)垢版2020/05/25(月) 17:39:01.13ID:CLMMg9Ns0
ありがとう!
WebSocket通信のタスクで終わられちゃ困っていて、タスクが終わられると困るだけでwhileで回すものもないし・・・・これで凌いでたよ
でもこんなの見ないってことは、もっと根本的に違った別な正攻法があるのかな
0940デフォルトの名無しさん (ワッチョイ 4e2c-5qFb)垢版2020/05/25(月) 18:22:47.52ID:gis+qwRr0
JavaScript で非同期通信は、callback 関数を指定して待つだけ。
タイムアウト時間が過ぎたら、エラーになるだけ

while みたいな、busy loop を使わない。
CPU が100% に張り付いてしまうから
0942デフォルトの名無しさん (アウアウウー Sac7-lIs9)垢版2020/05/25(月) 21:43:15.87ID:GUauqgR5a
まあ設計というかロジックに問題があるようにしか正直聞こえないけど、
そこはいいでしょ別に
0943デフォルトの名無しさん (ワッチョイ fa3c-bAg/)垢版2020/05/25(月) 22:31:36.47ID:3aP0Z4na0
つーか、Monoで学ぶC#オブジェクト指向とか言う本、わざわざMonoで学ばんでも普通のVSでマナびゃいい内容なんすけど。

MonoでやるならLinuxGUI作る方法でも教えてくれる方がよほどいい。
0946デフォルトの名無しさん (ワッチョイ a3ad-T1cz)垢版2020/05/25(月) 22:40:48.57ID:UFuP99WV0
>>945
使ってるし、まともにアプリ作れるよ。
任天堂も一つのアプリで使ってるらしいけど。

俺はXamarin.Formではなくて、Xamarin.Android使ってるけど、ほとんど普通のAndroid開発の言語がC#になった感じで、特に固有の情報は必要でない。
悩むんならJavaでやるよりkotlinでやったら良いんじゃない?
レス数が950を超えています。1000を超えると書き込みができなくなります。

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