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
レスを投稿する


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