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

■ このスレッドは過去ログ倉庫に格納されています
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
■関連スレ
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
2デフォルトの名無しさん (アウアウウー Sa9d-mBaV)
垢版 |
2023/08/08(火) 13:00:18.48ID:dbHUVIm2a
>>1
O2
3デフォルトの名無しさん (ワッチョイ c168-greZ)
垢版 |
2023/08/19(土) 19:14:38.83ID:kkSg06R00
char型って1バイトって書いてあるところもあるし2バイトってのもある
どっちが正しいんですか?
2023/08/19(土) 19:24:26.24ID:mKcQb+kU0
>>1スレたて乙
>>3
前スレから使ってください
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/char
>char 型のキーワードは、Unicode UTF-16 文字を表す .NET System.Char 構造体型のエイリアスです。
charは「一文字」
2023/08/19(土) 22:52:49.03ID:ybh46sJJ0
charの定義はプログラム言語によるけどここはC#スレなので
2バイト、UTF-16の符号単位1つ分
が正しい
「1文字」は定義そのものが面倒なのでそれで説明するのはまずい
C#が世に出た時点ですでにサロゲートペアがあったしね
2023/08/20(日) 10:40:21.22ID:Tiz0/WYjM
つ KPS9566
2023/08/21(月) 14:58:19.37ID:ol1P3YlW0
C#でcharを使った記憶が無い・・・
2023/08/21(月) 15:21:19.74ID:Ndtw0dBa0
頻繁には使ってないがたまに使ってるな
2023/08/22(火) 05:48:25.92ID:3bbATaSt0
string abc = "文字列";
foreach(char c in abc)
{/*処理*/}

確かに使ってないな〜って思ったら、こういう処理でcharは時々使ってるわ。
2023/08/22(火) 06:27:41.35ID:K0Y6kw2l0
KeyPressEventArgsのKeyCharはcharだし
意外と使ってる
2023/08/22(火) 09:52:59.41ID:NCwT5Qlw0
varで書いていて無意識につかってるってのはあるだろうなぁ
2023/08/22(火) 17:40:18.79ID:d5E574Cg0
intとdoubleしか使わん
2023/08/22(火) 21:49:38.95ID:w0pmKGmx0
さすがに decimal・long 封印されたら地獄。
2023/08/23(水) 02:19:34.38ID:mTUNg4mT0
C#のintに相当するIntegerが16bitのVBAではほとんどLongを使っていたが、
C#だとintが32bitなのでほぼintで済ませてる。
VBAはExcelが32bit版だとC#のLongに相当するLongLongが使えないんだなー。
2023/08/23(水) 10:13:02.11ID:PxP7OHeS0
byteばっかり使ってるな
2023/08/24(木) 17:52:40.58ID:AS1GMXmr0
任意精度の倍精度実数型が無いのは
やっぱり自作しろということなのでしょうか?
2023/08/24(木) 18:38:40.17ID:R4Azv7a00
任意なのに倍なのか
2023/08/24(木) 23:15:52.15ID:5Z3WGzh40
decimalじゃ足りないの?
2023/08/25(金) 09:51:26.86ID:addZmQb30
何に使うの?
2023/08/26(土) 10:42:55.36ID:pvrraVqdd
.net6.0 windows11 でUIAutomationを使おうと思っていますが
using System.Windows.Automation;
でエラーが出ます
Automationが名前空間System.Windowsに存在しないというメッセージが出ています

ソリューションエクスプローラーの依存関係を右クリック→
COM参照の追加→UIAutomationClientにチェックを入れています

ほかに何かしないといけないことはありますか?
それともこの環境だとUIAutomationは使えないのでしょうか
2023/08/26(土) 10:44:45.13ID:pvrraVqdd
「COM参照の追加」でUIAutomationという文字が含まれるものはあと2つありますが
これらにチェックをいれてもやはりダメでした
2023/08/26(土) 11:32:19.58ID:B+xiINwc0
そもそもSystem.Windows.AutomationはCOM参照の方じゃないよ
そして.NET 6だと多分参照を追加しなくても使える
ただし.csprojのTargetFrameworkがnet6.0-windowsみたいなwindows指定じゃないと使えない
2023/08/26(土) 18:56:47.34ID:pvrraVqdd
>>22
<TargetFramework>net6.0-windows</TargetFramework>
となってます

でも使えないのはなぜでしょうか?
2023/08/26(土) 18:59:24.42ID:pvrraVqdd
using System.Windows.Automation;

と書いた段階で、Automationのところに赤色の波線が出ている状態です
ビルドした段階で初めてでるようなエラーではありません
2023/08/26(土) 20:13:41.39ID:xxwPS16P0
Automationは名前空間じゃなくてクラスだから
using書くなら「using System.Windows;」だぞ
2023/08/26(土) 20:14:56.22ID:xxwPS16P0
もしくは↓

using 適当な別名 = System.Windows.Automation;
2023/08/26(土) 20:42:04.67ID:6UJ8MXUA0
これを.csprojに追加してみたらどうかな
<ItemGroup>
<FrameworkReference Include="Microsoft.WindowsDesktop.App" />
</ItemGroup>
2023/08/27(日) 03:34:05.01ID:5Jl0CLULd
>>25
>>26
だめでした
状況は何も変わっていません

>>27
すごい!使えるようになりました
Projectタグのすぐ内側に入れてみました
まだ動作確認してませんが、見た目大丈夫な感じです

なぜこれで動くのかはまったく分からないので調べてみようかと思います

みなさんありがとうございました
2023/08/27(日) 06:38:24.36ID:pdNwjm/sr
こういうのがあるからc#は不人気なんだよな
意味不明の呪文が多すぎる
2023/08/27(日) 06:42:06.25ID:B0IHQhsy0
不人気ってどこの世界?
2023/08/27(日) 07:24:42.50ID:5qrxD2H80
C/C++ Win32APIでリンクライブラリとか指定するのと同じことだろうに何言ってんだw
2023/08/27(日) 09:44:09.55ID:W37nqz2T0
VSは何をベースにするかの選択が後付けされていくからな
公式の選択肢の検証が不十分なんだろう
2023/08/27(日) 10:27:09.17ID:BadrQKzm0
あー、そうか
デフォだと参照されてるフレームワークはMicrosoft.Windows.Desktop.App.WindowsFormsで
Microsoft.Windows.Desktop.Appを個別に入れる必要があったのか
2023/08/28(月) 08:57:53.14ID:CMRW3du4a
DataGridView自身のサイズを
中のマスの数に合わせて余白なく変更される機能ってないの?
35デフォルトの名無しさん (ワッチョイ ea74-9/6f)
垢版 |
2023/08/28(月) 10:42:06.23ID:KozVXFn90
VisualStudioを使ってコメント文のショートカットは
他のVSCodeで使われてるCtrl + /にしてつかってるよね、みんなは?

デフォルトの二段階のやつは面倒。
36デフォルトの名無しさん (ワッチョイ 2501-nP6T)
垢版 |
2023/08/28(月) 10:48:07.63ID:m2uTidtL0
コメント文のショートカットなんて初めて聞いたので、使ってないが回答です
2023/08/28(月) 12:29:13.67ID:TcEjutgm0
アンコメントはvscodeでも2段階だけど
38デフォルトの名無しさん (ワッチョイ ea74-9/6f)
垢版 |
2023/08/28(月) 12:42:27.82ID:KozVXFn90
>>37
いやtoggle方式になっててCtrl+/だけでアンコメントできる
2023/08/28(月) 13:08:28.83ID:e1jE3eFz0
>>36と同じだわ俺w
2023/08/28(月) 14:20:29.16ID:HvGrKEBXr
>>35
同じだわ
慣れすぎちゃったから
41デフォルトの名無しさん (ワッチョイ ea74-9/6f)
垢版 |
2023/08/28(月) 14:50:59.42ID:KozVXFn90
>>36,39
情報弱者か頭がハゲてるのでは?

カーソルが対象の行のどこに存在していてもショートカット1つでコメント/アンコメントが切り換えられるのはすごく便利。
2023/08/28(月) 16:15:38.50ID:ny1ejD0Rd
何だこのバカは
2023/08/28(月) 16:18:57.50ID:dIRASk8t0
>>41
それ、コメントアウトされた行を含む複数行を、まとめてコメントアウトできるの?
44デフォルトの名無しさん (ワッチョイ ea74-9/6f)
垢版 |
2023/08/28(月) 16:31:23.03ID:KozVXFn90
>>43
それ、コメントアウトされた行を含む複数行を、まとめてコメントアウトできるよ。
2023/08/28(月) 17:07:01.73ID:dIRASk8t0
>>44
じゃあ、その行はトグル操作になってないよね
同じコマンドでトグルしたりしなかったりとか俺は嫌だな

つかそもそもの話はキータッチの数であって、トグル動作かどうかじゃなかった気はするがな
2023/08/28(月) 20:26:48.78ID:FBe+cq7+0
>>35
変えてないからいつもvscodeのctrl /と間違う
2023/08/28(月) 21:55:15.45ID:e1jE3eFz0
コメントショートカット君は何そんなに鬱憤溜めてるの
48デフォルトの名無しさん (ワッチョイ 2501-nP6T)
垢版 |
2023/08/29(火) 22:27:28.67ID:MluHN6hm0
そもそもvscode使ってないからなあ
2023/08/30(水) 00:16:17.18ID:5kILjyDm0
一瞬vscodeスレかと思った
2023/08/30(水) 09:08:03.74ID:BONGvbP90
VSCodeスレでも無ければVSスレでもないんだよなぁ
51デフォルトの名無しさん (ワッチョイ 6d68-lN7b)
垢版 |
2023/08/31(木) 22:01:22.46ID:MIyiOQWI0
リストのreverseってtolist()できたほうがいいですよね
reverseした後代入したりするとき面倒です。
なんでvoidなんですかね
2023/09/01(金) 09:24:47.73ID:BanrKten0
Reverse後に代入ってのがどうしたいのかわからないけど
Reverseはリストクラス自体のメソッドでそのインスタンスを直接操作するけど
OrderByやOrderByDescendingは拡張メソッドでコピーを操作するからコピーが返却されるってだけだよ?
2023/09/02(土) 09:18:43.99ID:SmX1VxPz0
Reverseも拡張メソッドにしてコピーを操作したらよくないですかね?
2023/09/02(土) 10:04:17.03ID:UfSrgHkR0
Reverse使うことになったことが無いけど
ソース自体かコピーかどっちがいいかは人によるだろう
55デフォルトの名無しさん (ササクッテロラ Sp07-R9B2)
垢版 |
2023/09/02(土) 14:11:47.41ID:9WH2Wl22p
反転したくてしてんだから反転前のは要らんだろ
つまり今のままでいい
2023/09/02(土) 15:54:53.00ID:5BMaIqoW0
List<T>のReverseじゃなくてEnumerableのReverseを使えば?
list.AsEnumerable().Reverse().ToList()
2023/09/03(日) 12:44:41.85ID:6JS2Y+TR0
アプリ画面だけでウインドウフォームかwpfか判断する方法ってありますか?
2023/09/03(日) 16:55:13.83ID:54sDKcC50
dnspyに食わせてみれば確実では?
2023/09/03(日) 17:01:39.86ID:usAI6v250
spy++で対象のクラスを確認したらよくね?
2023/09/04(月) 08:43:17.95ID:GTsqIl2R0
WPFだとフォームのBackColorが、デフォではControlではなかったような記憶
61デフォルトの名無しさん (ワッチョイ ffba-+GqY)
垢版 |
2023/09/05(火) 01:56:59.82ID:Dd7TKmzg0
VS2022でC#コンソールアプリのテンプレートを開くと
Console.WriteLine("Hello, World!");
の一行だけでした。

確か昔(VS2017とか)なら
class Program
{
static void Main(string[] args)

}
みたいなテンプレートだったと思うんですが、変わったんですか?
2023/09/05(火) 08:52:58.68ID:VoxpoMkh0
>>61
今はこう

https://ufcpp.net/study/csharp/cheatsheet/ap_ver10/#simple-program
2023/09/05(火) 08:54:10.36ID:VoxpoMkh0
.NET Frameworkの方のテンプレートなら見慣れた構造になってると思うよ
64デフォルトの名無しさん (ワッチョイ ffba-+GqY)
垢版 |
2023/09/05(火) 09:27:37.51ID:Dd7TKmzg0
>>62
>>63
そうなんですね。
数年ぶりにプログラムをやりはじめたら、
大きく変わっていて右往左往しました。
2023/09/05(火) 10:57:25.87ID:FWlyDFwX0
数年ならそれ以外大幅には変わってないとは思うけどね
色々便利にはなってるけど他の言語も同じ
2023/09/05(火) 11:10:48.96ID:0cStYI+l0
.NET Frameworkから.NET5以降になったら随分変わってると思うよ
2023/09/05(火) 11:54:42.15ID:FWlyDFwX0
そらまあ.NETで言えばね。。
数年なら多く見てもせいぜいC#7とか8の頃くらいからやろし。。
まあc#6とか5以前ともなると結構変わった感あるかもね
68デフォルトの名無しさん (ワッチョイ 6395-Ylnh)
垢版 |
2023/09/05(火) 16:53:18.32ID:/30Ct0nh0
スクラッチみたいなヴィジュアルスクリプティングって余計難しくならないですか?
2023/09/05(火) 22:11:20.21ID:zWF8b7bu0
ノーコード・ノーマーシー
70デフォルトの名無しさん (ワッチョイ 6395-Ylnh)
垢版 |
2023/09/08(金) 18:12:12.15ID:WprVZueP0
プログラミンってどれだけ整理してかけるか、みたいな能力が大事ですか?
こんがらがる
2023/09/08(金) 18:26:15.14ID:21NmID8F0
>>70
スレ違い
小学生レベルなのでここ見て勉強してね
https://www.nhk.or.jp/school/sougou/texico/
C#での質問があったらここに書き込んでください
72デフォルトの名無しさん (ワッチョイ 238e-0kEP)
垢版 |
2023/09/08(金) 18:38:18.39ID:t2Eu/6tA0
>>70
場違いな質問をしていることに気付かない頭の悪さをまずは何とかしろ
73デフォルトの名無しさん (ササクッテロラ Sp3b-SXjU)
垢版 |
2023/09/09(土) 00:48:02.61ID:x9yY8Tvzp
>>70
機能性表示食品の成分か何かですか?
2023/09/09(土) 06:53:47.96ID:LMdLT4fq0
ありそうで困るw
75デフォルトの名無しさん (ワッチョイ 0e68-rcnc)
垢版 |
2023/09/13(水) 20:05:26.74ID:CY2QXh+t0
自作ツールの起動中のみ、エクスプローラでファイルを右クリックした際のコンテキストメニューに項目を追加したいのですが、参考ソースはありませんでしょうか?
ググったらフォルダーとドライブの該当ソースはあったのですが、ファイル向けがありませんでした。レジストリーーいじるソースなので、知識不足で…
76デフォルトの名無しさん (ワッチョイ e3ad-tnQy)
垢版 |
2023/09/13(水) 20:18:20.45ID:t65qTGC00
起動時にレジストリ書き込んで終了時に削除するってやれば一応できるんだろうか…
2023/09/13(水) 20:22:36.89ID:9HJckEnJ0
できなくはないだろうけど、なんかの拍子にレジストリぶっ壊しそう…
2023/09/13(水) 20:26:33.26ID:I4CMq2Vn0
ミューテックスで起動しているかチェックしたらどう?
消すのは難しくても無効には出来る
79デフォルトの名無しさん (ワッチョイ 0e68-rcnc)
垢版 |
2023/09/13(水) 20:27:27.55ID:CY2QXh+t0
そんなに動的ではなくていいので、初回起動時に登録、アンインストール時に削除します。そこが知りたい訳では御座いません
2023/09/13(水) 20:53:21.95ID:I4CMq2Vn0
そういうときにはChatGPT
運が良ければ解決するかもしれん
2023/09/13(水) 22:28:04.53ID:GCCocY7ia
ツール起動中のみって要件があるのに初回起動時に登録、アンインストール時に削除ってのがわからん
起動中のみって要件外せば幸せになれるのに
2023/09/13(水) 23:39:35.35ID:tgD8Mqqk0
stackoverflowには絶対にあると思う
あとは7zipのソースでも読んだらいいんじゃね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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