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

■ このスレッドは過去ログ倉庫に格納されています
2022/11/25(金) 13:16:08.91ID:HZEumDr50
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part156
https://mevius.5ch.net/test/read.cgi/tech/1663479569/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
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/
https://source.dot.net/
・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
2023/01/01(日) 11:58:47.34ID:3lvoVtEt0
>>156
そこはみんなが参考にしてるサイトだからそこだけじゃなく隅々まで全部読むといいぞ
2023/01/01(日) 12:00:43.26ID:e/1iR5vb0
みんな隅々まで読んでいてこのページも知ってたってことか
すまねえ…
2023/01/01(日) 12:15:07.10ID:j5f8HZB4a
>用途が狭く、言語機能としては採用しにくい

プロパティの変更通知は言うほど用途が狭いかね?
MVVMを推すくらいならそれくらい標準で実装してほしいものだが。
2023/01/01(日) 12:57:35.27ID:5MDrbxjOM
言語レベルでMVVMヘルパー実装しろと前から言われてるけど
実際は微妙な補助機能を数回追加し続けて便利になった便利になったと言い続けてる
2023/01/01(日) 13:13:30.89ID:ps54Dm7d0
>>159
C# は GUI 使わないコンソールアプリを作ったりもするからそんな変な言語仕様を入れられても困る
それでなくても最近ちょっとやりすぎなぐらい言語仕様膨らんでるし
2023/01/01(日) 13:25:47.58ID:5MDrbxjOM
言語仕様がふくらみすぎてるのは舵取りする人間がそういう人に変わったからで
C#はかなり学習しにくいゴミ言語になりつつある

一方で本当に需要のあるmvvmヘルパー機能はライブラリなどに投げられて15年
2023/01/01(日) 14:50:57.14ID:aOdp45l9a
そこは別にライブラリでいいだろ
そしたらVBもF#も使えるし
2023/01/01(日) 14:56:40.04ID:Db/riRaQd
今のC#のメインストリームは完全にWebに移ってるからね
Webではほとんどイベント使わないし、基本的にデータの流れが一方通行なのでプロパティの変更をモニタする必要がない
165デフォルトの名無しさん (アウアウウー Sac7-A544)
垢版 |
2023/01/01(日) 15:51:38.76ID:hQ/gnoFSa
ライブラリも別に便利じゃないというね
166デフォルトの名無しさん (アウアウウー Sac7-A544)
垢版 |
2023/01/01(日) 15:53:22.87ID:upITL37Ha
>今のC#のメインストリームは完全にWeb

MAUIはお遊びですか。
2023/01/01(日) 16:28:44.76ID:v8lxumL50
>今のC#のメインストリームは完全にWebに移ってるからね

何年も前からそういうことを言う人を見かけるけど、それを裏付けるまともな統計を見たことがない。
2023/01/01(日) 17:04:38.71ID:RDiXYdnpa
>>167
https://www.jetbrains.com/lp/devecosystem-2021/csharp/
現実見ようよ
2023/01/01(日) 17:32:06.42ID:v8lxumL50
JetBrainsのサーベイか。なるほどありがとう。
170.NET MAUI HighSchool (ワッチョイ 9a01-duIi)
垢版 |
2023/01/03(火) 04:26:10.48ID:KGK7R/p50
>>166
なわけなくね?
Blazor MAUIとか知らんのか?
あれWebアプリそっくりそのままモバイルアプリにできるすぐれものだぞ
171.NET MAUI HighSchool (ワッチョイ 9a01-duIi)
垢版 |
2023/01/03(火) 04:28:36.61ID:KGK7R/p50
まぁ最近の世界的な流行りがWeb化してるから仕方ないでしょ
俺は何でもかんでもWebアプリ化するのは嫌いだけどな
Figmaとかもちゃんとしたデスクトップアプリで使いたいわ
2023/01/03(火) 05:36:35.63ID:6MPz74YQ0
専ブラ作ってるのってマウイ君?
2023/01/03(火) 07:55:08.78ID:WKAtXrzF0
言うほどWeb化してるか?
スマホ時代からはむしろWebアプリで良くね?ってレベルのものまで何でもかんでもネイティブアプリ化してるのがめちゃくちゃうざく感じるが
2023/01/03(火) 09:54:09.47ID:DiXPGtkDd
Webアプリで良くね?ってレベルのものは実際開発者もそう考えていてWebブラウザを全面に貼り付けてあるだけのものが多く、技術的には完全にWebの一種
MAUI Blazorもまさにそうだね
175デフォルトの名無しさん (ワッチョイ 9a01-ChaJ)
垢版 |
2023/01/03(火) 13:48:08.97ID:KGK7R/p50
>>172
がんばってる
WinUI3って<ContentPage.BindingContext>ってないんだな
どうやってMVVMすればいいんだ?
176.NET MAUI HighSchool (ワッチョイ 9a01-ChaJ)
垢版 |
2023/01/03(火) 13:49:50.55ID:KGK7R/p50
>>173
スマホはそうかもだけどFigmaのようなそこそこスペックがいりそうなものまでWeb化してる気が、、、
177.NET MAUI HighSchool (ワッチョイ 9a01-ChaJ)
垢版 |
2023/01/03(火) 13:51:48.97ID:KGK7R/p50
>>174
MAUI BlazorはただのWebとはちょっと違うかな
Blazorを介して直接スマホのネイティブAPI呼び出せるっていうスゲー利点がある
ただこの機能を使わないなら別に普通のWebViewでも良いかなってのは思う。
2023/01/03(火) 14:07:52.60ID:6MPz74YQ0
>>175
WinUI3はコンパイル時バインディングっていうのだけ用意されてるらしいよ
179デフォルトの名無しさん (ワッチョイ 6301-9yt5)
垢版 |
2023/01/03(火) 18:41:34.03ID:yYGSV1g60
ニュースアプリとかウェブで良いよな。
180.NET MAUI HighSchool (ワッチョイ 9a01-duIi)
垢版 |
2023/01/03(火) 20:49:00.39ID:KGK7R/p50
>>178
よくわからんけどWindowの中にPageを追加したらPage.DataContextでVVMのBindingできました
181.NET MAUI HighSchool (ワッチョイ 9a01-duIi)
垢版 |
2023/01/03(火) 20:54:25.22ID:KGK7R/p50
とりあえずスマホ用の5ch.netからスクレイピングした板一覧をツリー表示させることに成功した
https://github.com/VipperNanashi/5chBrowser
ただ板取得はJsonのほうがいいみたいだからJsonから板を取得する方法を模索中
2023/01/03(火) 21:11:49.20ID:WKAtXrzF0
板一覧ってjsonで取れんの?
datのみだった記憶あるが
2023/01/03(火) 21:15:53.36ID:WKAtXrzF0
ぱっと見たけどHttpClientはstatic readonlyで一本永続化したほうが良いよ
稀にしか使わないならまだしも5chブラウザってことならむしろメインオブジェクトだし
184.NET MAUI HighSchool (ワッチョイ 9a01-duIi)
垢版 |
2023/01/03(火) 22:12:10.39ID:KGK7R/p50
>>183
クラスってどう分ければいいんだろうか?
板一覧取得サービス、スレッド一覧取得サービス、スレッド取得サービスで分けようとしてたけど
どうがいいんだろ?
2023/01/04(水) 00:43:08.29ID:r5YTutFsa
Ruby on Rails では、データベースの各表の設計・関連ばかりやる

1対1、1対多、多対多など
2023/01/04(水) 02:21:56.42ID:+C+yH2XZ0
HttpClientを含むネットワーク接続用のクラスを作成してマウイ君の言うところの各サービスクラスのコンストラクタに渡しておくとか?
2023/01/04(水) 11:27:50.76ID:Ry3dqHi90
>>173
各社脱獄を目論んでいる
なんでかっていうとgoogleやAppleの気分次第でアプリを修正しなくちゃいけなくて凄く面倒くさいから
amazonはアプリ作るのやめたっぽい
amazonでこうだから他はもっと面倒くさいと思われ

うちも中小だけどあるとき
ふっと動かなくなってるなんてことあって非常に面倒くさい
もう現状でWEBコントロールにWEBページ貼り付けて強引にアプリっぽい挙動してるけど
なんかもうWEBアプリにしちゃおうか?
って話出てる
188デフォルトの名無しさん (ワッチョイ 9a01-duIi)
垢版 |
2023/01/04(水) 15:19:20.75ID:4AqXXBLo0
>>187
MAUI Blazorでいいんじゃね?それ?
2023/01/04(水) 23:29:03.48ID:7N9i2DDEM
専ブラか…
15年ぐらい前にWPFで作ってたな
そのせいでWPFにいい思いを持てない

MS死ねって思えた
2023/01/05(木) 00:08:37.28ID:vn9u9eY2a
機能をてんこ盛りにしてもガワがダサいと台無しになるんだよな
優秀なデザイナーおらんかね
2023/01/05(木) 02:16:02.09ID:/ldjRQly0
>>190
フラットデザインならツッコまれない上に最古のieでも動くはず
2023/01/05(木) 17:24:19.12ID:p6lP0uhc0
short i;

i = 0; // ok
i = true ? 1 : 0; // コンパイルエラー(キャストが必要)

三項演算子で数値を返す場合って、int固定になってしまうのは言語仕様ということでしょうか?
2023/01/05(木) 17:32:00.71ID:p6lP0uhc0
ぁぁ
上記の場合はコンパイルエラーにならないですね。

以下のようにするとエラーになります
short i;
bool hoge = true;

i = 0; // ok
i = true ? 1 : 0; // ok
i = hoge ? 1 : 0; // コンパイルエラー(キャストが必要)
2023/01/05(木) 17:35:27.31ID:/ldjRQly0
演算子の評価順番が違うだけとかそんなことない?
2023/01/05(木) 17:47:32.82ID:Eo475Zw70
特に明示しない場合、整数リテラルはintになるからってだけなのでは?
2023/01/05(木) 18:35:00.85ID:KPj6QU/BM
まず右辺の数字は整数リテラルと言うもの

変数に代入時は整数リテラルは型より大きすぎるなどしてない限り変数と同じ型とみなされる
そうしないと不便だから

次に i = hoge ? 1 : 0;
の右辺は式である
整数リテラルは代入じゃないときは暗黙的にint扱いになるので右辺の式の値の型はintになる
これでキャストが必要

i = true ? 1 : 0;
この右辺はコンパイル時に決定されてるので代入可能

short s = 7000000-6999999;
これも代入可能なのと同じ感覚
2023/01/05(木) 19:27:18.86ID:p6lP0uhc0
>>196
ありがとうございました。理解しました

確かに
const bool hoge = true;
i = hoge ? 1 : 0;
とやってコンパイル時に決定されるようにするとエラーが無くなりました。

けど簡潔に書くための三項演算子なのに
(short)(hoge ? 1 : 0);
とかやると台無しですねぇ
2023/01/05(木) 19:54:52.08ID:ZKzvhdM60
むしろ、あえてshortを使う理由の方が気になるな
2023/01/05(木) 23:18:41.14ID:QBL7vIUt0
shortを表すリテラルのサフィックスがないのか
2023/01/05(木) 23:26:14.03ID:O+NRT3S+0
>>196
> 整数リテラルは代入じゃないときは暗黙的にint扱いになるので右辺の式の値の型はintになる
> これでキャストが必要
ほんとか?
short s = b switch { true => 1, false => 2 };
はエラーにならんのだが...
2023/01/05(木) 23:27:37.63ID:O+NRT3S+0
>>199
ない、あってもいいのにと思ったけどそもそもshortなんて滅多に使わんことに気づいたわw
2023/01/06(金) 01:05:36.20ID:7HwChuQ+0
>>200
それ、varで定義したらintになってるし、右辺がintになるのは本当だな
で、c#のコンパイラ、縮小変換で切り捨てがないことが確認ができたら、暗黙の縮小変換を許可するっぽいな。

ちゃんとした言語仕様確認しないと何とも言えんが
おそらくコンパイル時に解決可能なことが前提条件じゃないかと推察するが
2023/01/06(金) 10:21:27.99ID:xMgEyxw8r
>>198
組み込み機器相手にしているとよく使う
2023/01/06(金) 10:54:04.53ID:Zk03eeCzM
文字列の中の何文字目に日付があるかを調べたいのですが、
日付の書式としては「2023/01/05(木)」といった感じで固定なものの、
日付の数字は当然日によって違ってくるわけなのでContainsだとちょっとうまくいかないです

いい方法はないでしょうか
2023/01/06(金) 11:05:52.93ID:J1J3+QokM
正規表現でググれ
2023/01/06(金) 12:19:31.93ID:buYHqiH80
>>204
static int IndexOfDateString(string str)
{
const string kDateFormat = "yyyy/MM/dd(ddd)";
int dateLength = kDateFormat.Length - 2;
int index = 0;
while ((index = str.IndexOf(')', index) + 1) >= dateLength)
{
int iStart = index - dateLength;
Console.Out.WriteLine(str.AsSpan(iStart, dateLength));
if (DateTime.TryParseExact(str.AsSpan(iStart, dateLength), kDateFormat, null, default, out var date)) return iStart;
}
return -1;
}
2023/01/06(金) 16:14:10.99ID:Zk03eeCzM
ありがとうございます
参考に(と言うかそのままなのかな?)させてもらいます
208デフォルトの名無しさん (ワッチョイ b6e9-9j0N)
垢版 |
2023/01/06(金) 16:14:19.23ID:RU2dEBn00
WinフォームアプリでgroupBoxをタブみたいに切り替えて使おうと、
コントローラを切り替えるコードを書いたのですが、groupBoxを重ねて実行したら
全てのgroupBoxが一番下のgroupBoxの子になってるようで、思うように表示されませんでした。
groupBoxを、一番下のgroupBoxの子にしない方法はありますでしょうか?
2023/01/06(金) 20:43:15.02ID:LvtbIuXd0
>>208
・・・.Designer.cs を開くと、自動生成したコードが
一番下のgroupBox.Controls.Add(子のgroupBox)
になってないかな?
だとしたら、デザインモードから子のgroupBoxをフォームに貼り付けるとき、
フォーム直下じゃなく、一番下のgroupBoxに貼り付けてると思う

自分なら、Load のタイミングで、任意のgroupBox.Controls.Add(任意の孫コントロール)
を明示的にコーディングする
2023/01/06(金) 21:39:44.23ID:buYHqiH80
>>207
Console.Out.WriteLine(str.AsSpan(iStart, dateLength));
確認用のコード消し忘れたからこれは消しといてOK
2023/01/06(金) 22:12:46.01ID:0EW5INsGM
専ブラでも作るのか?
2023/01/06(金) 22:16:48.35ID:0EW5INsGM
>>200
switch式は左辺参照して型を決める特殊な仕様らしい
int→shortに変えられる詳しい仕様は書かれていないので実装依存になるかも
2023/01/06(金) 22:48:27.26ID:Zd/Zujyt0
>>212
Target typed conditional expression とか言うらしく C# 9.0 で仕様が変わったみたい
ざっくり読んだけどいまいちよくわからん
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/target-typed-conditional-expression
2023/01/06(金) 23:11:40.08ID:i+WCiV6p0
もう誰もついて行けないほどキモい言語になったな
2023/01/06(金) 23:46:18.49ID:lAfbhCFR0
20年間建て増し増改築をくり返してるから。。。
2023/01/07(土) 00:03:23.95ID:14znWkOG0
まぁ、あっても使わなきゃいいだけなんじゃね
C++のような機能性とJavaのような読みやすさを両立してるってことで
2023/01/07(土) 01:49:54.46ID:YilgzCe20
C#ってUnityのせい(おかげ?)で簡単みたいに言われている気がしなくもないけど
まともに使える人は案外少ない印象

そりゃC++とかよりは簡単だろうけど
いきなりスラスラ組めるようになった奴はセンスあると思う
2023/01/07(土) 10:59:31.87ID:r7mle/Qh0
それはC#に限らずオブジェクト指向全般に言える話
最初は誰でも手続きぐちゃぐちゃプログラミングになるからな
2023/01/07(土) 22:36:09.82ID:pHfLuIJC0
C#の言語仕様を拡張してどんどん便利にしても.NETが旧態依然のままでぜんぜん便利にならないから誰も.NETで開発しようなんて思わないんだよな
MSはいい加減.NETそのものやライブラリにお金をかけるべきだわ不便だから誰も使わなくてハウツーやナレッジも少ないからエコシステムが構築されずどんどんC#の人気が落ちてる
JS(TS)やPythonが人気なのはスクリプトだからとか簡単だからとかじゃなくて便利で高機能なパッケージ(ライブラリ)が無料で腐るほどあって人気があるからハウツーやナレッジも豊富でエコシステムが構築されてものすごく良い循環してるからなわけよ
とりあえずいい加減P/Invokeは廃止してMS自らがラッパー提供しろって話なんよなぜ未だにC#でGlobal HookなんかのOSのAPIにアクセスするのにP/Invokeが必要なのかそもそもこれがおかしいと思わんのかな
P/InvokeなんてC/C++理解できんやつには使えるわけがないんだがMAUIとかBlazorとかフロントエンドばかり小手先の改良加えるだけでぜんぜんやる気ないだろそりゃAndroidアプリに頼るしかなくなるわな
2023/01/08(日) 01:34:28.04ID:TcqU+QzpM
その認識は間違ってると思うが…
2023/01/08(日) 02:43:36.44ID:FOdy7Dic0
またランタイムに相当するやつを別にインストールする必要があるのかってところが猛烈にダサいよね
巨大exeの配布とどっちが良いかみたいな時代と逆行した昔話を思い出すよ
結局昔のようにMS主導で強制されるまでは誰も積極的に使わないだろう
2023/01/08(日) 09:40:34.44ID:TcqU+QzpM
C#は実際のアクティブユーザー数は少ない
プログラムが趣味ですと言ってる人の中でC#使ってる人の割合が少ないと言う感覚
更にガチ勢の割合が少ない

当初.netのライブラリが充実していた(GUI除く)ので一般人はOSSやサードパーティー製をなかなか使わない風土になってる
それで開発が少ないしされてもすぐ放置される
jsonライブラリも標準が出てしまった
ユーザーはライブラリ開発しないで提供されるのを待つだけ
ガチ勢が育たない

jsは唯一のwebブラウザ向け言語なのに素では開発しづらいから便利なライブラリが開発され続けてる
ライブラリのみでなくjs自体にトランスパイルされる言語が複数開発されてる

一方C#じゃなければ実現できないことはないから積極的に開発されない

C#の人気が落ちてると感じるのは相対的に他の言語の魅力が上がってるから
と言うより20年使ってたけどC#はホビーユースが中心にもかかわらずMS以外でそんなにC#は重要視されてた時代はない

C#は基本的に想定した以外のAPIは放置されてる
GlobalHookなどは馬鹿避けで馬鹿に触らせると問題が起こるので機能を提供してないものと思われる
2023/01/08(日) 09:47:03.48ID:RamX2q3K0
ほらMAUI君のキチガイムーブのせいでこんなことになってる
2023/01/08(日) 09:48:03.50ID:TcqU+QzpM
>>219
こいつがMAUI君なのか?
2023/01/08(日) 09:56:44.66ID:QVI3ZNoXM
騒ぎに便乗している愉快犯だろうが主張が滅茶苦茶
2023/01/08(日) 10:06:02.24ID:T7l3+Pw00
ヤベぇ奴が2連発
2023/01/08(日) 10:09:17.22ID:TcqU+QzpM
C#は外部ライブラリがあまり開発されてない
純正志向が強い

js,Pythonなどは区別なく使われてる
Rustは標準ライブラリも外部ライブラリ向けに実装部分を差し替えられるように提供されてたりする
コミュニティ提供のrust入門書でも外部の乱数ライブラリを使ってる

.netは純正主義
228デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/08(日) 10:32:30.16ID:+xzWagUM0
>>227
たしかに.NETの標準ライブラリで何でも出来すぎてOSSが盛んにならないってのはあると思う
ただサイシャープの河合社長だったり有用なOSSライブラリを作ってる人はかなりいる
みんな知らないだけ
229デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/08(日) 10:34:46.44ID:+xzWagUM0
まさか標準ライブラリの充実がOSSの足枷になってるとはね
たしかに言語仕様的にゴミカスなJSやPythonがこんだけOSSで流行ってるって言うのは割と関係あるな
230デフォルトの名無しさん (ワッチョイ 93ad-U0xt)
垢版 |
2023/01/08(日) 10:56:45.19ID:cWCXtcgI0
仕事で使うなら標準が充実してる環境の方がいい
231デフォルトの名無しさん (ワッチョイ 9301-GR7q)
垢版 |
2023/01/08(日) 11:11:28.09ID:+xzWagUM0
>>230
まぁバージョンが新しい古いとかで動かないとかかなりあるしね
Node.jsなんてそんな感じのグチかなり聞くわ
Sysmem.Text.JsonもNewtonsoft.Jsonのアプデ頻度が高いからしゃーなしに開発されたものらしい
2023/01/08(日) 14:49:48.54ID:TcqU+QzpM
それに .net standardとかPLCとかの問題で非常にライブラリ開発がつらい時期があった
ふざけるなと思ってる人も多かったはず
233デフォルトの名無しさん (スッップ Sdb3-kOMB)
垢版 |
2023/01/08(日) 21:24:57.31ID:vR0OTCC7d
Pythonなんてライブラリのバージョンや本体のバージョンで動かなくなるのでうんざりする
2023/01/08(日) 21:52:10.63ID:PmW37SD40
それはPythonに限らんよReactもFlutterもViteもなんでもそうだ
ちゃんとパッケージを管理できてないお前のスキルが低いだけ
235デフォルトの名無しさん (スッップ Sdb3-kOMB)
垢版 |
2023/01/08(日) 22:19:24.54ID:vR0OTCC7d
>>234
そういうレベルじゃない
ライブラリ同士の整合性問題がC#の比較じゃない
そもそも比較がC#なのに何で他のを持ち出すんだ?
頭悪そう
2023/01/08(日) 22:37:24.96ID:fqXaATjG0
>>235
ここのスレタイ確認しろよ
Pythonを例に挙げている時点でお前も頭悪いよ
237デフォルトの名無しさん (ブーイモ MM35-mEot)
垢版 |
2023/01/08(日) 22:51:16.76ID:Qur7Wt30M
>>235
わかる
あれひどいよな
ものすごくメジャーライブラリでもPythonのバージョン上がると動かなくなって修正に半年とか普通にかかる
リリースされて半年~1年は実質ベータ期間
2023/01/09(月) 00:01:38.16ID:2yNmR2Eh0
他人に期待しても無駄だから安定してるの使えばいいのよ
俺もC#はpowershellとも連携させるから基本OS標準に入ってるバージョンの機能しか使わないし
2023/01/09(月) 16:28:59.82ID:CwlhWpkE0
ライセンス気にせずにExcel操作ライブラリ使うなら、読み取りはExcelDataReader、書き込みはClosedXMLがいいのかね?
EPPlusは商用ライセンス高すぎて使えないわ
240デフォルトの名無しさん (ワッチョイ 515f-DWwd)
垢版 |
2023/01/09(月) 17:37:32.83ID:vMc2E6cN0
SpreadsheetLightってのもある
あと知ってるかもしれんがEPPlusはv4系までは商用でもフリーだぞ
net standard2.0だから今後しばらくは問題ないと思う
241デフォルトの名無しさん (アウアウウー Sa85-DH5p)
垢版 |
2023/01/11(水) 11:19:45.11ID:6xJiw1N1a
単純な真理
馬鹿でも使えるようにすると馬鹿しか使わなくなる
2023/01/11(水) 12:26:53.93ID:mTSuB4YT0
>>241
HTML
はい論破
2023/01/11(水) 12:30:24.34ID:9UsnsdsEp
あれ言語?
レイアウト用のスクリプトじゃね?
2023/01/11(水) 12:31:26.63ID:xxqhJq0+0
>>241
5chのことかぁぁぁ!
2023/01/12(木) 00:35:27.24ID:1+V28XvP0
winformsってみんな普通に使ってるし自分も時々使ってるけどこれといったテキスト売ってないよね
みんななんとなくで習得してる
それでもなんとかなるほど学習コストが低いってことなのかな
2023/01/12(木) 00:39:53.96ID:Ae6OSc1r0
visualstudio使えば、割と簡単とは思うけど
GUI的な考えが分からない奴は結局ちょっと複雑になると作れないんだよなぁ
UI thread的な考えが理解出来ないとUI thread以外でUI操作しようとしたりするしw
2023/01/12(木) 01:42:03.27ID:9BD/EtRG0
>>245
比較対象がWPFなら簡単過ぎるぐらいだな
248デフォルトの名無しさん (テテンテンテン MM4b-JmZ8)
垢版 |
2023/01/13(金) 04:09:28.41ID:i9/MSi6dM
まあアレは直感的にわかりますし……
WPFの方が調べても全然出てこなくて困る、書籍も少ないし
249デフォルトの名無しさん (ワッチョイ b101-tb1I)
垢版 |
2023/01/13(金) 06:37:45.03ID:CqT5d+dn0
@ if ((choice == 2 && player == 2) || (choice == 3 && player == 1))
A if (0 <= xpos && xpos < XMAX && num[xpos] < YMAX)
B board[xpos][num[xpos]++] = player;

C for (x = 0, y = ypos, n = 0; x < XMAX; x++)
D for (x = xpos, y = 0, n = 0; y <= ypos; y++)
E for (x = 0, y = ypos - xpos, n = 0; y < YMAX; x++, y++)
F for (x = xpos - ypos, y = 0, n = 0; x < XMAX; x++, y++)
G for (x = 0, y = xpos + ypos, n = 0; y >= 0; x++, y--)
H for (x = xpos + ypos - YMAX + 1, y = YMAX - 1, n = 0; x < XMAX; x++, y--)
の各条件文内でどーゆー計算、アルゴリズムがされてるか教えてくださる人いますか??
2023/01/13(金) 06:54:01.37ID:QZjdOIAl0
何がわからんのかわからん
課題なら先生に聞け

あーChatGPTなら教えてくれるかもな
251デフォルトの名無しさん (ワッチョイ b101-tb1I)
垢版 |
2023/01/13(金) 09:13:03.94ID:CqT5d+dn0
例えば@だと、&&が論理積、||が論理和ということだと思うんですけど、演算子が分かってもその条件文内で何が行われているかとかが分からないので知りたい状態なんです。。
2023/01/13(金) 09:19:57.40ID:ohfi5XtE0
ベン図でも描けば?
2023/01/13(金) 09:21:26.34ID:r1OLO4Qgp
マジックナンバーイクナイ
2023/01/13(金) 09:25:11.90ID:QZjdOIAl0
>>251
それなら俺らもそれ以上はわからんぞ
変数名をちゃんと意味あるものにしてやって >>253 が言うようにマジックナンバーをなくすと読めるようになる
2023/01/13(金) 10:43:33.37ID:g8ppNh/ZM
>>249
いますかの答えとしてはいない
書いてるコード断片にはアルゴリズムもなにもない
それにこれ多分Cだろ
ここは C#と言う別言語のスレなのですれ違い

これは多分オセロみたいなゲームのコードだろ
縦ラインループ横ラインループと斜めラインループしてる

player1 と player2が対戦して boardが合ってXMAXとYAMXのボード幅ではみ出し判定してる
計算もアルゴリズムも何も感じられない

その前にさあIDEの使い方覚えて一行ずつ動かして何が起こってるか見てみたらいい
初心者の間は状態などを紙にでも書かないと多分わからないよ
256デフォルトの名無しさん (アウアウウー Sa85-DH5p)
垢版 |
2023/01/13(金) 10:54:17.50ID:+TkXA4uqa
マルチで Google Drive のリンクまで晒してるけど
学校名も個人名もばれるから落第だな
下手したら退学
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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