X



ふらっと C#,C♯,C#(初心者用) Part160
0001デフォルトの名無しさん (オイコラミネオ MM3f-idhC)
垢版 |
2024/02/11(日) 09:17:20.44ID:8k78Qd14M
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part159
http://mevius.5ch.net/test/read.cgi/tech/1691454079/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.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
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0004デフォルトの名無しさん (ワッチョイ 1ec5-Wfyb)
垢版 |
2024/02/15(木) 18:40:53.42ID:TbQr5IWZ0
record型について調べに調べたんですが説明が理解できませんでした。
今までtuppleやkeyvaluepairや構造体を使ってたけど
その代わりに使えばいいと理解していいですか?
0007デフォルトの名無しさん (ワッチョイ 022d-dm05)
垢版 |
2024/02/15(木) 19:05:11.58ID:hxPwVpAx0
const var i=1;
const var f=2.0;
const var s="three";
const var t=(1, 2,0, "three");
のように型名を省いて暗黙的に推量して頂くとエラーが出てしまいます。しかしconst抜きだとエラーが出ません。

この違いは、どのような設計思想が大本にあるのでしょうか?
また、何らかのケースで「const抜きだと推量できるがconstありだと推量できない」事があったりするのでしょうか?
0012デフォルトの名無しさん (ワッチョイ e31e-XyAm)
垢版 |
2024/02/15(木) 20:50:19.72ID:TvfAuxJO0
C#コンパイラチーム開発者の回答
https://stackoverflow.com/questions/2128432/type-inferring-a-constant-in-c-sharp#answer-2128581

> > why can't the type be inferred when the variable is a constant?
>
> "constant" and "variable" are opposites. const var gives me the shudders to type.
> A constant is a value that never changes and has no storage location; a variable is a storage location whose contents change.
> They're completely different, so don't attempt to combine them.
> The var syntax was chosen to call out "this is a variable", and we're sticking with it.
>
> var can stand in for a specific type declaration, but combining it with const severely muddies the picture of what the compiler does with the value.
> Therefore const var is disallowed to prevent this confusion and you have to explicitly type your constants.
0013デフォルトの名無しさん (ワッチョイ 022d-dm05)
垢版 |
2024/02/15(木) 21:02:55.86ID:hxPwVpAx0
>>10-11
ありがとうございます。
>>12
ありがとうございます。
やはりコンパイラ開発者の強い思想があるわけですね。「varとconstが反対の意味だから」という信念には納得です。
今後は const とタイプするたびに Eric Lippert に対して最上級の殺意がinvokeされそうです。
0016デフォルトの名無しさん (ワッチョイ 1e2d-Wfyb)
垢版 |
2024/02/17(土) 16:42:43.54ID:yHCQXuch0
>>6
ご解答ありがとうございます。
これって違いなんですか?

record class sampleclass
{

}

record sampleclass
{

}

どっちも違いという違いが無いみたいですが
0018デフォルトの名無しさん (ワッチョイ 1ea3-Wfyb)
垢版 |
2024/02/17(土) 17:15:13.47ID:yHCQXuch0
>>17
いや自分で書いてみました
record classってrecordのみと何が違うんですかっていう話です
どっちもequalの挙動同じだしclass付ける意味あるのかなと
0021デフォルトの名無しさん (ワッチョイ 1efe-Het3)
垢版 |
2024/02/17(土) 18:29:59.01ID:qX4/mflN0
recordが導入されたC# 9.0では参照型しかなかったけど
値型でも使いたいって要求が出てC# 10.0でrecord structが作られて
記述あわせるためにrecord classって記法ができるようになった
0022デフォルトの名無しさん (ワッチョイ 1ea3-Wfyb)
垢版 |
2024/02/17(土) 20:16:48.01ID:yHCQXuch0
>>21
ありがとうございます。
気にしなくてよさそうですね。
c#はこういう細かな規則が少ないんで助かります。
0025デフォルトの名無しさん (ワッチョイ 6fb0-X6hX)
垢版 |
2024/02/23(金) 11:47:45.00ID:kdfKV8gV0
デザインパターン勉強してるんですが
抽象と実装を分けるとか、生成と機能を分けるとか
「分ける」系の概念多いですね

結局インターフェースとか継承を上手く作ってコード拡張しやすいように
するのがデザインパターンって思っていいですか?

いくつか似てるのあって厳密に理解したくないですw
0027デフォルトの名無しさん (アウアウウー Sae7-BFTb)
垢版 |
2024/02/23(金) 17:55:36.93ID:oF0kVzPVa
class Item {public string[] Tags;}

string[] findTags = ...
var q = DB.Items.AsQueryable();

// "AND"条件での抽出
foreach (var tag in findTags)
{
 q = q.Where(x => x.Tags.Contains(tag));
}

Entityframeworkでこんな感じのDBでAND抽出はできるのですが
findTagsにあるうちのどれかが当てはまったら抽出という"OR"抽出はどうやったらいいのでしょう?
0039デフォルトの名無しさん (ワッチョイ 677c-RxEe)
垢版 |
2024/02/25(日) 06:35:29.09ID:CJ+uCVrB0
>>38
でもさ英語圏の人達は変数名が英語じゃん
それって日本人が変数名を日本語で書いてるのと同じ感覚やん
何が違うの?

キー入力の観点で日本語入力のオンオフ切り替える手間が面倒とか
昔みたいに日本語の様なマルチバイト文字がコンパイル時に使えないとか悪い影響与えるっていうなら話は分かるんだけど
0041デフォルトの名無しさん (ワッチョイ 8797-nGkq)
垢版 |
2024/02/25(日) 07:07:54.83ID:wMKOowee0
英語圏と日本語圏でプログラミング力の平均値がかなり乖離があるのもこれ。

10000行とかでもコメント皆無でも英語圏の人なら
たった1分眺めるだけで概ね何のプログラムかはプログラムに縁がない素人すら答えられるが、
日本人の英語話せないプログラマだと大半は答えられないねぇ。
0055デフォルトの名無しさん (スッップ Sdea-V2t0)
垢版 |
2024/02/25(日) 13:20:02.41ID:EQVkj53Md
左下に情報でてるっていいたいんだろ?
でも結局それをみても投稿者だけでなくここでレスしてる奴も原因が特定できないなら一度細かくみりゃいいだけじゃねっていいたいんだが?
実際の開発でもそういうことしないの?
俺も見た感じ何がおかしくなってるのか不明だし細かくわけりゃ何かわかることもあるだろ
あと全角がわかりにくいならいったん左下の情報でもクリップボードにコピーでもしてエディタにはりつけるなすりゃいいんじゃね
0056デフォルトの名無しさん (ワッチョイ 5ebb-ggDt)
垢版 |
2024/02/25(日) 13:23:08.52ID:EuDaAi1i0
GetFilePropertyValueの中で何してるか知らんけど
もしGetDetailsOfで幅を取得してるなら先頭に見えない制御文字が付いてるな
画像の幅の文字列.Substring(1,画像の幅の文字列.Length-6)で一応いけるけど
OS変わってピクセル表記じゃなくなるだけで動かなくなりそうだし正規表現の方がいいな
0057デフォルトの名無しさん (ワッチョイ 5ebb-ggDt)
垢版 |
2024/02/25(日) 13:23:19.41ID:EuDaAi1i0
GetFilePropertyValueの中で何してるか知らんけど
もしGetDetailsOfで幅を取得してるなら先頭に見えない制御文字が付いてるな
画像の幅の文字列.Substring(1,画像の幅の文字列.Length-6)で一応いけるけど
OS変わってピクセル表記じゃなくなるだけで動かなくなりそうだし正規表現の方がいいな
0058デフォルトの名無しさん (ワッチョイ 0bad-f7Kr)
垢版 |
2024/02/25(日) 13:28:24.43ID:O3pRRgk00
UTF8で変換してないとかかね?
0059デフォルトの名無しさん (ワッチョイ 4a64-g1P5)
垢版 |
2024/02/25(日) 13:51:38.30ID:qsle6rXj0
Rustで有名アルゴリズムに挑戦 第16回 Rustで機械学習に挑戦 - k近傍法でアヤメの分類をしよう
https://news.mynavi.jp/techplus/article/rustalgorithm-16/
共同作戦で壊滅したマルウェア「Qakbot」復活、米国は犯行グループを逮捕できず
https://news.mynavi.jp/techplus/article/20240225-2885670/
悪意あるPythonパッケージを2つ発見、DLLサイドローディング技術悪用
https://news.mynavi.jp/techplus/article/20240225-2889952/
充電式バイブレータからマルウェア検出、USB充電デバイスに注意
https://news.mynavi.jp/techplus/article/20240224-2889949/
0060デフォルトの名無しさん (ワッチョイ 0b72-V2t0)
垢版 |
2024/02/25(日) 13:53:34.50ID:7XdQFtjY0
>>55
画像に写ってるコードと例外と変数情報見てそんな程度のことしか言えないから馬鹿だってんだよ

>ここでレスしてる奴も原因が特定できないなら
何人か数字が全角じゃないかって言ってるだろw
節穴かお前の目は

全角数字をParseしたらFormatException出るんだよ馬鹿
0062デフォルトの名無しさん (ワッチョイ cbda-mcQh)
垢版 |
2024/02/25(日) 17:55:27.63ID:lILUSRDm0
ブラウザなどで文字列をダブルクリックすると単語を選択してくれますが、
この単語はどこが認識しているのでしょう? IME?ブラウザ?

WPFなど自前のアプリでつらつら文章表示するものがあって、
その文章をダブルクリックするとブラウザなどとは異なり変な区切りで単語選択されます。

C#から介入可能でしょうか
0068デフォルトの名無しさん (スップ Sd8a-V2t0)
垢版 |
2024/02/26(月) 07:33:22.59ID:FHNB0d6xd
>>56
GetDetailsOfをためしてみたら確かに先頭に「0x200e」(左横書きの制御文字)がいるみたいですね
デバッグの画面だとわかりにくいけどエディタに文字列貼り付けたら数値の前に怪しいスペースができてた
[0] 8206 '‎' char
[1] 53 '5' char
[2] 57 '9' char
[3] 48 '0' char
[4] 32 ' ' char
[5] 12500 'ピ' char
[6] 12463 'ク' char
[7] 12475 'セ' char
[8] 12523 'ル' char
0073デフォルトの名無しさん (ワッチョイ 0aaa-g1P5)
垢版 |
2024/02/26(月) 17:13:45.20ID:hotfpUjh0
【AI】Stable Diffusion 3発表、Soraで話題の拡散トランスフォーマーを採用 [すらいむ★]
http://egg.5ch.net/test/read.cgi/scienceplus/1708865670/l50

ボイス・トォ・スカるしている者も攻撃を受けるようになりました
007434 (ワッチョイ 0fc4-K5th)
垢版 |
2024/02/26(月) 18:34:34.56ID:OnA59xrH0
原因は先頭に制御文字が入っていることでした。

回答ありがとうございます。
0077デフォルトの名無しさん (ワッチョイ efee-Crea)
垢版 |
2024/03/04(月) 14:16:14.28ID:+y9nT9ny0
お借りします。
Accessに接続したいです。frameworkの時はoledb関係で接続できますが、.NETではどのような方法があるんでしょうか?
探してもframeworkばかりの情報でどうしていいものか悩んでます
プロジェクトは.NET6で作成してます
0080デフォルトの名無しさん (ワッチョイ efee-Crea)
垢版 |
2024/03/04(月) 15:25:41.54ID:+y9nT9ny0
nugetの使えますか?
インストールボタン押しても反応がないというか、またインストールボタンがアクティブになってしまうんです…
こちらのプロジェクトの設定が間違ってるんでしょうか
0085デフォルトの名無しさん (ワッチョイ efec-Cl42)
垢版 |
2024/03/05(火) 12:17:51.38ID:lIAiG2zY0
言語よりもフレームワークの使い方だよな
0086デフォルトの名無しさん (ワッチョイ 7b6e-+eyj)
垢版 |
2024/03/05(火) 12:24:10.20ID:g0CXGBUn0
AI時代はぶっちゃけ言語は割とどうでもいいからな
そういう意味で最も手軽に書けるPythonが第一に選択肢に上がってくるのはその通り
まあC#はAI最強帝国MS公式言語だから他の言語に比べたら時代遅れにはなりづらいと予想されるけどな
0089デフォルトの名無しさん (ワッチョイ cbda-5ODS)
垢版 |
2024/03/05(火) 13:00:50.94ID:2vksefDA0
なんでもいいからデスクトップアプリ、フルスタックWebアプリを作れるようになるべきだよね。
その点C#なら言語1つで上記全て出来る
Javaはデスクトップがちと辛い
新しくやるならRustが今後期待できる
Pythonはいまだスクリプト言語の域を出ない。ネイティブコンパイルに期待
0090デフォルトの名無しさん (ワッチョイ 9fb3-AA/x)
垢版 |
2024/03/05(火) 13:01:00.66ID:4pk/Ix2r0
長期的には女を口説く方法でも覚えた方がいいだろうけど、中期的にはSQLだな
近いうちに、AIがデータモデルとUIとSQLを生成し、人間はそれをレビューするだけの開発手法が主流になる
0094デフォルトの名無しさん (ワッチョイ ef25-Crea)
垢版 |
2024/03/05(火) 17:16:01.55ID:KelBr98b0
>>91
ありがとうございます!
パッケージソースのマッピングがオフになってたようです
それを構成し直したら無事インストールできました
ありがとうございます!感謝です!
0095デフォルトの名無しさん (ワッチョイ 9b7c-G8yA)
垢版 |
2024/03/05(火) 19:16:01.21ID:hKRiQvwn0
>>92
すまん
まあまあイケメンなんで一緒にカラオケでもどうですかって声掛けると7割ぐらいの確率でホテル行く
009998 (ワッチョイ cb72-0WZ8)
垢版 |
2024/03/07(木) 08:46:00.19ID:8HMeBilj0
すまねぇ、とんでもない書き込み間違いしたw
0100デフォルトの名無しさん (ワッチョイ ef4a-5fuq)
垢版 |
2024/03/09(土) 09:01:28.51ID:j02nUFoN0
for (int i = 0; i < arrs.Length; i++) {......}

int al = arrs.Length;
for (int i = 0; i < al; i++) {......}

こういうのってどちらが良いんでしょうか
上側は、毎回Lengthを評価するので遅くなるような気がする
下側は、変数iが無駄に思える
0102デフォルトの名無しさん (ワッチョイ 3b59-FtZT)
垢版 |
2024/03/09(土) 09:38:58.26ID:Zzk12oRD0
配列のLengthであればその配列が内側で持ってる値を返すだけで評価なんかしない
後者の形で書くだけ無駄、パフォーマンスが良くなるなんて思わないほうがいい

あとiもできれは避けて
foreach(var item in al) {......}
のほうが余計な変数が減ってなおよい
0104デフォルトの名無しさん (ワッチョイ 9b7c-bwa2)
垢版 |
2024/03/09(土) 09:50:57.03ID:Iu7Z4MYl0
>>102
あえてforを使用しているんだからインデックスをループの中で使いたいかもやろ

そういう無駄な指摘が俗に「ウザい」っていうんよ
0110デフォルトの名無しさん (ワッチョイ 9b7c-bwa2)
垢版 |
2024/03/09(土) 11:58:23.65ID:Iu7Z4MYl0
んでもってタプルで受け取るってか?
素直にfor使っとけよ
0112デフォルトの名無しさん (ワッチョイ 4f9b-Cl42)
垢版 |
2024/03/09(土) 12:18:23.65ID:BvGWNYiz0
foreachで順番通りにやらなきゃいけないオブジェクトではまったわ
0113デフォルトの名無しさん (ワッチョイ 0f7b-tjh4)
垢版 |
2024/03/09(土) 13:21:05.43ID:zvjNmKa50
>>100
「遅くなるような気がする」じゃなく実際に自分で測ってみたら?
「どちらが速いですか」などの質問も割とよく出るけど、処理内容によって変わるかもしれないのだから自分で測ってみるのが一番早い
https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/412stopwatch/stopwatch.html
ここのSystem.Threading.Thread.Sleep(1000);を計測する処理に差し替えるだけでできる
0115デフォルトの名無しさん (ワッチョイ dfbd-zqCT)
垢版 |
2024/03/09(土) 15:49:39.64ID:6JAsN7LQ0
・記述を変更しても、コンパイラの最適化によって同じIL(中間言語)になる可能性もある。
・JITコンパイルでほとんど差がない可能性。
・AOTコンパイルで(略)
・C#を使っている時点で最速でないから、そんな速度差を気にするくらいならC/C++、Rust、アセンブラを使え。
0117デフォルトの名無しさん (ワッチョイ 5fd8-5fuq)
垢版 |
2024/03/09(土) 16:35:37.85ID:q35kPcPj0
>>100
> for (int i = 0; i < arrs.Length; i++) {......}
配列の範囲外アクセスのチェックを省略する最適化がかかるから変に凝った書き方はしない方が良い
> 変数iが無駄に思える
全てを代替出来る訳じゃないけど、可能ならforeachを使えば
0118デフォルトの名無しさん (ワッチョイ 3d78-WtKV)
垢版 |
2024/03/10(日) 10:17:52.32ID:lP5AIR460
最近の.NETはメジャーバージョンアップのたびに最適化されているから速度差はあまり気にしなくてもよくね?
どうしても高速化したいのならNativeAOT使おう
制限はあるけど使い慣れたC#で記述できるから最高だぞ
0120デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/10(日) 12:07:18.56ID:akejiw/t0
>>119
ループの中で何を処理するかによっても違う
パラレル使う手も有るしね
0122デフォルトの名無しさん (オイコラミネオ MMe9-mSl3)
垢版 |
2024/03/10(日) 13:02:05.96ID:hwVh1yHaM
他と比べてとかそういうんじゃないんだよな
最初に作ったアプリをバグフィクスや機能追加していくと速度が落ちていくことがあると言うか大体落ちる
ひどいと今まで30秒で処理してたのが33秒になりましたとか

目算で思っていた範囲以上に遅くなるとちょっと嫌な気分
これが地味にダメージなんだよな
そういうのが積み重なると目も当てられない

それを避けるために日常的に無駄のないコードを心がけるのが精神衛生上良い
他でもない自分のため
0123デフォルトの名無しさん (ワッチョイ 22c3-5VC5)
垢版 |
2024/03/10(日) 13:59:58.74ID:GSLv/I2s0
昔での事だけど、Cじゃないんだけどさ
テーブルの各値を1つづつズラしてシフトする処理で1番目に初期値零を放り込むプログラム合ったんだけど
テーブル毎バサッとやったら3時間掛かってたのが10分でおわってワロタ記憶あるわ

なんでそれまで誰もやらなかったんだか(笑)
0124デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/10(日) 15:42:57.59ID:akejiw/t0
>>122
そもそも30秒掛かってる時点で無いわ
30msにしてから言え
0125デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/10(日) 15:45:45.05ID:akejiw/t0
>>123
C#でListに1万件ループでAddするのとAddRangeで一気に追加するのでは速度が段違いだよねって話みたいなもんか?
0131デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/11(月) 20:00:19.72ID:zXXKqwJt0
なあ365のGraphSDKだけどv5凄く使い難くね?
特にページイテレーターとか糞じゃね?

全件取れるようにGetAll全部に用意しろ

イテレーターで1件ずつ取り出すのはそのままで良いから1ページ毎にAddRangeで追加出来る様に追加しろ
0132デフォルトの名無しさん (ワッチョイ 857c-1/rY)
垢版 |
2024/03/11(月) 20:01:20.76ID:zXXKqwJt0
あとGraphAPIはいつまでv1のままなんだ?
いい加減バージョン上げろよ
0134デフォルトの名無しさん (ブーイモ MM33-MuJl)
垢版 |
2024/03/21(木) 16:41:51.77ID:moGxTGPKM
ずいぶん過疎ったな
C#も終わりか
0135デフォルトの名無しさん (ワッチョイ 5972-ZAEI)
垢版 |
2024/03/21(木) 16:59:27.82ID:t4nv+V260
string.Splitはcharとstring両方受け付ける癖に
string.Joinはstringしか受け付けないの
なんでそんな一致しない仕様にしたのか
0136デフォルトの名無しさん (ワッチョイ a947-NBlB)
垢版 |
2024/03/21(木) 17:10:49.32ID:OJvp/zL30
>>135
古いバージョンを使ってるからだろ
0138デフォルトの名無しさん (ワッチョイ fb3f-y9/r)
垢版 |
2024/03/21(木) 20:00:01.06ID:ArDQta9F0
>>134
最強の言語だろーまじそう思う
0144デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/21(木) 23:37:27.90ID:gM/gTjZ50
RxもC#が最初
0146デフォルトの名無しさん (ワッチョイ b9b6-A0KB)
垢版 |
2024/03/22(金) 00:46:25.75ID:ThNZh94P0
C#はMicrosoftが推してるってのもあって年々扱いやすくなってるし良い言語ではある
けどGUIライブラリ周辺は完全に力入れる方向性ミスってる
xamlなんかじゃなくて最初からmvcに注力してれば…
0147デフォルトの名無しさん (ブーイモ MM33-MuJl)
垢版 |
2024/03/22(金) 08:25:24.91ID:uj0DzyBTM
なんでAI用のライブラリが遅れてんだ?
結局インタプリタが正義なんじゃねーのか?
インタプリタで開発して完成したらネイティブコードに転換するような言語でいいんじゃね?
0150デフォルトの名無しさん (ワッチョイ 1398-+t/0)
垢版 |
2024/03/22(金) 13:07:30.18ID:WaRDxGiW0
そもそもGUIライブラリってそんなに作るの難しいのか?
MSほどの組織があればGUIライブラリなど数ヶ月で完成できるだろ
何が開発を阻害してるの?
Windows自体の問題なのかc#の問題なのか
0151デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 15:37:57.77ID:lbSknOc60
完成してるやん
自分が使いこなせないXAMLにイラついてる奴が居るだけでさ
0153デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 15:51:53.40ID:lbSknOc60
別にコードで書いても良いやん
0155デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 17:00:25.00ID:lbSknOc60
そういう事じゃ無くてコードでもXAMLと同じ事出来るじゃん
正確に言うとXAMLがコードに変換される訳だけど
0157デフォルトの名無しさん (ワッチョイ b9b6-A0KB)
垢版 |
2024/03/22(金) 17:40:59.96ID:ThNZh94P0
>>146 訂正 mvc→mvu

有名なアプリが大抵react、flutter、electron製な時点でお察し
当のMicrosoftでさえTeamsをMAUIで作ってない
0158デフォルトの名無しさん (オイコラミネオ MM55-ZAEI)
垢版 |
2024/03/22(金) 18:05:07.32ID:OqIAqLT2M
C#自体は最近はそう大きな変化はない
大体は他の言語の機能の後追いか内部のための変更が多い印象
全てを把握している人間は少ないのではないか

自分は過去のC#の言語の表現が好きだった
最近は記号の羅列や呪文に近くなっている
0162デフォルトの名無しさん (ワッチョイ 817c-mjK0)
垢版 |
2024/03/22(金) 19:30:19.70ID:lbSknOc60
>>161
何を示してるのか意味不明
0163デフォルトの名無しさん (ワッチョイ 51cf-7lhN)
垢版 |
2024/03/22(金) 19:39:52.80ID:Z4xnJ+m00
>>158
関数型言語を蛇蝎のごとく嫌ってそう
0167デフォルトの名無しさん (ワッチョイ f683-rfcW)
垢版 |
2024/03/24(日) 18:01:15.05ID:cEyTBQVH0
Add(int x int y)
{
return x+y
}

これ呼び出すのがシンプルにx+yって計算するよりも遅いです。
どうしたらいいですか?書いちゃったプログラム全部書き直しってのは絶対無理です。
ちなみに1回につき100万回くらい呼び出さないといけません。
0171デフォルトの名無しさん (オイコラミネオ MM91-Re1+)
垢版 |
2024/03/24(日) 19:33:22.45ID:MOMWvILCM
>>167
それがそのままなのかどうかは不明だけど基本的にはメソッド呼び出しは遅くなる
本当にごく限られた特定の場合だけインライン化と言う最適化が働いて速くなることがあるけど
それを過信してはいけないと思う
0174デフォルトの名無しさん (ワッチョイ f683-rfcW)
垢版 |
2024/03/24(日) 23:11:43.13ID:cEyTBQVH0
>>168>>173
ありがとうございます。

>>169
一部置き換えたのを計ったら早くなってたけど
全体では少し早くなった感じでした。

ちなMath.Powは何故か遅くMath.Sqrtはそうでもないのは
私の勘違いでしょうか。
0179デフォルトの名無しさん (オイコラミネオ MM91-Re1+)
垢版 |
2024/03/26(火) 22:28:12.39ID:1Bd4/Fy+M
「Spectre」と「Meltdown」みたいな重度のセキュリティーホール対策で実行速度は大幅に落ちた
セキュリティーホールをふさいで極端に言えば挙動が変わってるけど最初の挙動は本来期待しない動作

オプション指定しないと最適化されないのは想定している動作であり期待しない動作ではないのでバグではない
0180デフォルトの名無しさん (ブーイモ MMb2-wr8K)
垢版 |
2024/03/27(水) 11:23:20.06ID:Wk+cp7GVM
コンパイラの設定次第で究極的に速度重視とか、メモリ削減重視とかやれるんじゃねーの?
0183デフォルトの名無しさん (ワッチョイ 764a-zn4i)
垢版 |
2024/03/29(金) 23:10:39.70ID:KSJZSeRg0
C#に限ったことじゃないけど
BigInteger型があるのにBigFloat型が無いのは何でなのか?
どちらかというと後者のほうが科学技術計算とかで使い道あると思うんだが
0188デフォルトの名無しさん (ワッチョイ b501-7myW)
垢版 |
2024/04/01(月) 20:43:32.19ID:I0404dx50
>>183
科学技術計算でdouble精度を上回る有効数字桁数が必要とされることはほとんどない。
BigFloat型でと同様な計算は10の整数乗倍することによりBigInteger型でも可能。
0191デフォルトの名無しさん (スップ Sd03-Lkgf)
垢版 |
2024/04/02(火) 15:45:19.84ID:w+YAhrNed
巨大な行列の固有値が正確に必要な問題とかで4倍精度必要なケースあるけどな
0193デフォルトの名無しさん (ワッチョイ 4bb9-Lkgf)
垢版 |
2024/04/02(火) 21:23:57.28ID:zUNlFHMd0
>>192
使うぞ
逆に何を使うっていうんだ
0196デフォルトの名無しさん (ワッチョイ 4bb9-Lkgf)
垢版 |
2024/04/02(火) 21:31:32.43ID:zUNlFHMd0
有理数で巨大な行列の固有値計算とか冗談だろ
0199デフォルトの名無しさん (ワッチョイ 4bb9-Lkgf)
垢版 |
2024/04/03(水) 23:35:28.04ID:I9qDTX4l0
そもそも固有値計算は反復法で数値的に解く以外のアルゴリズムが絶望的に遅い
反復法で有理数を使うメリットは皆無
0201デフォルトの名無しさん (ワッチョイ e359-EsXa)
垢版 |
2024/04/05(金) 08:23:11.07ID:1tjV+Dtg0
MAUIで会員制のデータ計算、集計アプリ作ってて外部サーバーのMysqlに直撃繋いてSQL書いてるけど、問題ない?
(デスクトップアプリみたいな感じで)

PHPでWebAPI作るのが面倒だし、認証トークンがよく分からん。
0202デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/05(金) 08:44:51.05ID:5kaK3dCP0
>>201
それってDBへの接続文字列が書かれたものがコンパイル済みとはいえクライアントにあるって事だろ

逆アセンブルは簡単にできるからDBに直接アクセスされてデータ消したりテーブル消したり出来るぞ

当然ながら会員データも他人の読めるので個人情報入ってたらアウト
損害賠償で乙
0203デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/05(金) 08:47:55.10ID:5kaK3dCP0
MAUIで書いてるならWebAPIもC#で書けば良いじゃん
swaggerから簡単に生成出来るし

色々考えるとWebアプリの方が楽だぞ
0209デフォルトの名無しさん (ワッチョイ 3501-GNxm)
垢版 |
2024/04/05(金) 19:09:09.28ID:5x+F8iFN0
IAM DB AuthenticationみたいにDB接続前に別のところで認証して
その結果のトークンをMySQL接続時に渡してプラグインで検証してるなら
直接繋いでても一般的に許容されるレベルのセキュリティは確保されてるんじゃないのかな
0212デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/05(金) 20:54:43.89ID:5kaK3dCP0
行レベルセキュリティとかもして無さそうだから認証だけの問題でも無さそう
0213デフォルトの名無しさん (ワッチョイ e359-EsXa)
垢版 |
2024/04/05(金) 23:17:58.82ID:1tjV+Dtg0
VBA使ってスタンドアロンで動くものしか作ったことない私がやるとこうなる。

一応、Firebaseからデータ読み込むだけのスマホアプリをXamarinで作ってストアに公開して2年経つが、今のところ特に問題ない。

今回のスマホアプリは昔、プロに作ってもらったものを参考にして、MAUIで作り直してる。

SQLが使えないFirebaseは使いづらいし、テーブルの数が多くて、読込、追加、更新、削除を頻繁にやらないといけないからMysql使ってる。

今、PHPでWEBAI使って作り直してるけど、デバッグがやり難くて困ってる。
あと、プログラムは仕事では殆どやってない素人だから大変だ。

外注を使うと金がかかるから自分で何とかするしかない。
0217デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/06(土) 06:44:58.55ID:dnvnVLJa0
外注使うと金かかる(分かる)
自分で作ると金掛からない(勘違いしてる)

その時間仕事してると給料が入る
会社なら一般管理費等も考えると普通の外注と同じで人月100とか120万となる

つまり素人が時間掛けて自分で作るより外注した方が安い
0218デフォルトの名無しさん (ワッチョイ 1d7c-AIK3)
垢版 |
2024/04/06(土) 06:46:08.95ID:dnvnVLJa0
ああサービス残業的に作ってるっていうなら確かに金は掛からない

社畜精神凄いとは思うけど
0228デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 10:55:53.03ID:20w18gpn0
>>226
プロトコルの仕様読めば良い
0229デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 10:56:49.19ID:20w18gpn0
>>227
言語は関係無い
0230デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 10:58:51.93ID:20w18gpn0
>>227
言葉が足りなかった

お前が勉強したのはjsの認証ライブラリってだけで認証の仕組みなんて分かってない
ライブラリの使い方覚えただけ

C#にも認識ライブラリは有る
0231デフォルトの名無しさん (オイコラミネオ MMe7-OINQ)
垢版 |
2024/04/07(日) 11:00:44.59ID:ldKyq7DlM
変な話jsで認証やセキュリティの話は10倍ぐらいのスピードで時間が流れてる気がする
自分が勉強したころはJWT使いましょうだったのがかなり前からJWT使うなだし

関心を持ってる人間の量が違う
0233デフォルトの名無しさん (ワッチョイ 237c-LL07)
垢版 |
2024/04/07(日) 12:18:56.37ID:20w18gpn0
>>232
お前の探し方が悪いだけ

そもそも企業だとADやら365のAzureADでSSOやらSAMLするからMicrosoft系で認証系の情報が少ないとか無いんだよ
0234デフォルトの名無しさん (オイコラミネオ MMe7-OINQ)
垢版 |
2024/04/07(日) 12:48:05.19ID:ldKyq7DlM
話がずれてるぞ
さっきの質問者にそれを教えてやれよ

あえてそれに乗ると
探しかたが悪いとわからない = 勉強しづらい
だと思うんだけどね

C#だけ触ってると井の中の蛙で概念すら知らないことだらけ
js系触ってるとずっとweb系のセキュリティの洗礼を受け続けることになる
それで関心を持ってる人間が多くてカジュアルに技術が学べる機会がC#より多い
ネットだけじゃなくてjs系の書籍も発行されてて手に取ることが出来る
探しかたが悪いなんて話にはなりにくい

こんな単純なことは理解できるだろう
0236デフォルトの名無しさん (ワッチョイ afe5-KkZA)
垢版 |
2024/04/13(土) 06:59:00.94ID:qJM1JNy30
今お騒がせのどんぐりシステム

http://web.archive.org/web/20131009170307/http://www.geocities.jp/nullpo0/
開発終わってるツインテール2.51で書き込み出来てる

ツール 環境設定 板一覧の更新URLを
http://bbsmenu.afi.click/5ch/bbsmenu.htmlに変えれば即使える

C#のソースも残ってるし誰か勉強がてら改造続けてくんない?
今後問題になりそうなのはhttpsとか他の板登録関係かな
0246デフォルトの名無しさん (ワッチョイ b7f3-z6RI)
垢版 |
2024/04/14(日) 11:07:15.33ID:pSQDB1C20
htppsに対応させるにはソースのどこをどういじればいいの?
0249デフォルトの名無しさん (ワッチョイ ff40-z6RI)
垢版 |
2024/04/14(日) 13:51:42.00ID:5lm5l0Bg0
>>246
板一覧をhttps://menu.5ch.net/bbsmenu.html に対応させるなら
Twintail Project\ch2Solution\twinie\Forms\Dialogs\BoardUpdateDialog.cs
の267行目のhttpをhttpsにして
Twintail Project\ch2Solution\twin\Base\Table\KatjuBoardTable.cs
の83行目を「@"B>(?<cat>.+?)</B>】(?<brds>.+?)(?=【)",」とかに(適当)
Twintail Project\ch2Solution\twin\Base\Text\URLParser.cs
の41行目のParseBoard()に入ってすぐか、呼び出す前にurlの前後の
「"」を取っ払う処理入れたら読めると思う
あと、その少し上の正規表現を2行とか5行定義してるところで、httpを
https?とかに変えといた方がいいかも
0255デフォルトの名無しさん (ワッチョイ 96b0-TxeL)
垢版 |
2024/04/21(日) 11:46:43.16ID:ia+eGvgw0
>>226
僕も同感です。
そもそも認証やセキュリティまわりで議論が白熱するか分からん。
ログインされたらパスワードを入力させるだけの話じゃないの。
何で難しい話になるんだろう。頭がいい人はその認証方法じゃだめじゃ
みたいに思うんだろうか。
0257デフォルトの名無しさん (ワッチョイ 96b0-TxeL)
垢版 |
2024/04/21(日) 13:48:04.59ID:ia+eGvgw0
cookieとセキュリティくらいか。
やり方なんてそんなにないと思うけどなぁ。
0258デフォルトの名無しさん (ワッチョイ b601-Y6pn)
垢版 |
2024/04/21(日) 13:53:06.24ID:TVuXhDVi0
>exeとかのアプリケーションならそうだけど
むしろこっちが気になるな
exeとかのアプリケーションでログインされたらパスワードを入力させるだけの話ってどんなアプリケーション?
0259256 (ワッチョイ 56bd-IV2N)
垢版 |
2024/04/21(日) 15:02:47.54ID:ZhmDOSdI0
俺は>>255が何を考えているのか知らんけど、
>>258が例えばユーザー毎のアクセス権とかパスワード変更とかを気にしているのであれば、
Webアプリケーションだろうがexeだろうが一緒だから省略してるよ。
0260デフォルトの名無しさん (ワッチョイ 4046-Wa0z)
垢版 |
2024/04/21(日) 15:50:12.42ID:xRhlemXE0
>>255
普通のアプリ開発だと
普通の画面にある機能は誰でも実装できるけど
認証機能は難しすぎて問題すら解らない領域だから
通常はクラウドの機能を使うとかライブラリー当てて何も考えないで終わりが通常
0261デフォルトの名無しさん (ワッチョイ 4d7c-Dx6U)
垢版 |
2024/04/21(日) 16:01:02.28ID:OlMPLRoS0
SSOだのSAMLだの考えろよ
0264デフォルトの名無しさん (ワッチョイ 4d7c-Dx6U)
垢版 |
2024/04/21(日) 17:54:00.12ID:OlMPLRoS0
>>263
世の中てそんなもん
他システムがOpenIDConnectに対応してるのなんて少ないんだよ
0268デフォルトの名無しさん (ワッチョイ d010-YiC7)
垢版 |
2024/04/21(日) 22:12:37.11ID:cTDNZi+40
不適切にもほどがある!
0269デフォルトの名無しさん (ワッチョイ 7f10-hrwJ)
垢版 |
2024/04/28(日) 21:54:53.21ID:gvuAb1r50
age
0270デフォルトの名無しさん (ワッチョイ df89-TfPO)
垢版 |
2024/04/29(月) 14:21:43.84ID:UFWuh9Cl0
Passkeyも脳死でできるようにしてください
ポンコツな俺の頭には難しすぎます
0271デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:09:50.89ID:rF00337I0
実装で不必要に長いコード書いちゃってでも動いてはいる場合って
修正しなくていいんですか?
0272デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:12:13.03ID:rF00337I0
271に続いてこれとかも聞いておきたいです。
C#も新しい機能出てますが2018年までの知識だけで
コーディングしてる場合2024年最新の文法でかけ!
とかも言われるんでしょうか?
0274デフォルトの名無しさん (ワッチョイ bf92-y8PE)
垢版 |
2024/05/02(木) 20:35:11.80ID:rF00337I0
>>273
そうなんですか。
ただ極端に古いコーディングだったらアウトになりますか?
taskが今流行ってるのにthreadで書いてるとか。
0280デフォルトの名無しさん (ワッチョイ 7f10-FvXU)
垢版 |
2024/05/04(土) 07:05:35.87ID:m91DRxZ30
OutOfRangeしても例外発生もクラッシュもしないように言語仕様で手当てされてても
アクセスした結果が正常かどうかこっちでチェックはしなきゃなんねぇでしょ
0282デフォルトの名無しさん (ワッチョイ 177c-0EWD)
垢版 |
2024/05/06(月) 19:57:19.79ID:VQ/M9zGx0
非同期asyncについて質問したい

複数の非同期関数を同時に実行して結果を受け取る
そのタスクのうち1つでも結果がfalseならば他のタスクを全て中断としたい

WhenAllでは全ての結果を待つので無駄な場合がある

WhenAnyでは最初に終わったタスク結果は受け取れるだけである

この場合どうしたら良いのだろう?
0283デフォルトの名無しさん (ワッチョイ daa6-T7LG)
垢版 |
2024/05/06(月) 20:24:46.99ID:ICcIUWW40
>>282
Copilotによると
ideone.com/o0qKFx
0284 警備員[Lv.22][苗] (ワッチョイ 26bc-GK0Y)
垢版 |
2024/05/06(月) 20:27:40.95ID:LVbBsfNt0
タスクを実行する前に CancellationToken を作って、各タスクに引き渡しておけば?
タスクの中で失敗を検出した時点でトークンを使って他のタスクもろともキャンセルさせるとか。

実証していないから出来るかどうかは確証がないし、お作法的に正しいかは知らない。
0288デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 18:49:51.77ID:8e8GnC/g0
c#で現在ゲーム作成中です。
データベースに画像を保存したら01011みたいなデータになってるから
dbから直接画像を抜かれる心配ってないですか?
0290デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 19:18:45.15ID:8e8GnC/g0
>>289
zip暗号化をすれば何とかなると思います。
ゲームを進めていかないと現れない文字列をパスワードにします。
ステージ1クリア→g
ステージ2クリア→o
ステージ3クリア→a
ステージ4クリア→l
画像取得→パスワードgoalをdbに送信、画像取得
こんなのはどうですか?
0291デフォルトの名無しさん (ワッチョイ 665b-T7LG)
垢版 |
2024/05/07(火) 20:20:10.95ID:8e8GnC/g0
すいません勘違いしてました。
レスを投稿する


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