!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■関連スレ
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
探検
ふらっと C#,C♯,C#(初心者用) Part154
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
2022/02/09(水) 23:13:39.45ID:1A90hyai0790デフォルトの名無しさん (ブーイモ MMde-JrRZ)
2022/06/09(木) 12:32:25.90ID:ChvQ3ay1M 間違ったやり方だと思いながら仕事してたらいつまでも自信ないままだぞ?
だって間違った仕事しかしてないことになるんだからな
幸いC#はWeb系行けば結構モダンな開発してる職場が多いし、BtoBが中心だから比較的待遇も悪くないし、SI系出身者に対しても比較的寛容な傾向がある
簡単確実なソリューションは目の前にある
だって間違った仕事しかしてないことになるんだからな
幸いC#はWeb系行けば結構モダンな開発してる職場が多いし、BtoBが中心だから比較的待遇も悪くないし、SI系出身者に対しても比較的寛容な傾向がある
簡単確実なソリューションは目の前にある
791デフォルトの名無しさん (ワッチョイ 15e3-m5EP)
2022/06/09(木) 12:36:10.51ID:E+FpX8ek0 今C#やってるなら転職に困るようなことないと思うけど、入ったら入ったでハンガリアンの悪夢再びの可能性もあるから怖い
792デフォルトの名無しさん (ワッチョイ a968-pvNj)
2022/06/09(木) 16:10:53.28ID:d7vTvGkG0 クラス名を以下のような関数に渡したい時に
void printName(string name) {}
呼び出し側で
printName(this.ToString());
と記載していますが、毎回書くのが煩わしいです。
どこからの呼び出しでも同じ記述なので、簡略化する方法はないですか。
Cのマクロ定義ではこんな風にできると思いますがこれに近いことをcsでしたいです。
#define PRINT_NAME() printName(this.ToString())
void printName(string name) {}
呼び出し側で
printName(this.ToString());
と記載していますが、毎回書くのが煩わしいです。
どこからの呼び出しでも同じ記述なので、簡略化する方法はないですか。
Cのマクロ定義ではこんな風にできると思いますがこれに近いことをcsでしたいです。
#define PRINT_NAME() printName(this.ToString())
793デフォルトの名無しさん (ブーイモ MMde-VXTa)
2022/06/09(木) 16:57:37.54ID:0PQwkTJMM printName側でコールタック辿って呼出元のクラス名を得る
794デフォルトの名無しさん (アウアウウー Sa11-KJcf)
2022/06/09(木) 18:04:00.59ID:i3H8tE1La >>775
アフォw
アフォw
795デフォルトの名無しさん (アウアウウー Sa11-KJcf)
2022/06/09(木) 18:05:23.96ID:i3H8tE1La >>783
lpctszFileName
lpctszFileName
796デフォルトの名無しさん (スップ Sdca-IeUu)
2022/06/09(木) 18:33:17.82ID:+6++R2Gnd >>792
C#のお作法でstring ToString();はoverrideすることになってる
void printName(object obj) {...=obj.ToString();}
呼び出し側で printName(this); してしまって大丈夫。
...なのだがクラス名が欲しいなら
void printName(object obj) {...=obj.GetType().Name;}
か?
C#のお作法でstring ToString();はoverrideすることになってる
void printName(object obj) {...=obj.ToString();}
呼び出し側で printName(this); してしまって大丈夫。
...なのだがクラス名が欲しいなら
void printName(object obj) {...=obj.GetType().Name;}
か?
797デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/09(木) 18:56:27.19ID:F1Dv7yR50798デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/09(木) 19:10:03.40ID:F1Dv7yR50 あと目的がログだったとして、独自に作るよりはNLogのように既存の物使った方がよい
799デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/10(金) 21:15:14.55ID:EJTDzpB30 みんなの意見参考になったわ
とりあえず今週末ちょっとASP.NET勉強してみるよ。ウェブのこと全然わかんねぇ
とりあえず今週末ちょっとASP.NET勉強してみるよ。ウェブのこと全然わかんねぇ
800792 (オイコラミネオ MM65-pvNj)
2022/06/10(金) 21:51:32.52ID:kBv7ipkNM 目的は単純にコンストラクタが呼ばれたらコンソールにクラス名を含む文字を出したいただそれだけですね
Stack使う系の方法は確証得られないのでNGです
Stack使う系の方法は確証得られないのでNGです
801デフォルトの名無しさん (ワッチョイ ca79-PN48)
2022/06/10(金) 22:31:06.30ID:Z8p6aUw30802デフォルトの名無しさん (ワッチョイ 06bb-TkOU)
2022/06/10(金) 22:32:30.65ID:b5VhUFkH0 高卒丸出しだな
803デフォルトの名無しさん (ワッチョイ 9978-Rebr)
2022/06/10(金) 22:43:55.09ID:wzfIM+ki0804デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/10(金) 22:48:37.99ID:NBA9eaH+0 Callerなんとか系のやつは実行ファイルに埋め込まれるからあまりお勧めしないが
StackFrame使いたくないならまあ好きにして
StackFrame使いたくないならまあ好きにして
805デフォルトの名無しさん (ブーイモ MM2e-JrRZ)
2022/06/10(金) 23:03:40.70ID:xtBsFBLEM StackFrameは最適化で正確な内容にならないことがあるよ
806デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/10(金) 23:26:30.41ID:NBA9eaH+0 行番号は無理だが、メソッド名までは出る筈だけどな
807デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/10(金) 23:29:11.73ID:NBA9eaH+0 あとはStackFrame使う所で
[MethodImpl(MethodImplOptions.NoInlining)]
でインライン展開無効にしとけば大丈夫だと思う
[MethodImpl(MethodImplOptions.NoInlining)]
でインライン展開無効にしとけば大丈夫だと思う
808デフォルトの名無しさん (スッップ Sd1f-G2Bj)
2022/06/11(土) 01:29:16.83ID:N9Pa64KKd >>807
printNameの呼び出しがインライン展開されることはそれで防げるけど、目的はprintNameの呼び出し元のクラスを知ることなんだからそれでは不十分
printNameを呼び出しているメソッド全てにその属性を付けて回る必要がある
printNameの呼び出しがインライン展開されることはそれで防げるけど、目的はprintNameの呼び出し元のクラスを知ることなんだからそれでは不十分
printNameを呼び出しているメソッド全てにその属性を付けて回る必要がある
809デフォルトの名無しさん (ワッチョイ 7f8b-GGE9)
2022/06/11(土) 01:38:10.37ID:sQOLScrN0 C#+WindowsAPIで別アプリのDataGridView上の
特定セルの値の取得&ダブルクリック とかできますか?
他のソフトを操作するプログラムを作ろうと考えています。
特定セルの値の取得&ダブルクリック とかできますか?
他のソフトを操作するプログラムを作ろうと考えています。
810デフォルトの名無しさん (スップ Sd1f-UGZ9)
2022/06/11(土) 02:54:25.51ID:wqB8iMgfd811デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/11(土) 09:32:14.02ID:Wl1U42VL0 >>809
WinAppDriver経由で出来そうな気がする
WinAppDriver経由で出来そうな気がする
812デフォルトの名無しさん (ワッチョイ 23da-Gp1N)
2022/06/11(土) 09:35:43.27ID:XBKZ0P9R0 VS2022で右上のソリューションエクスプローラーのForm1.csをクリックしても
デザイナにFormが表示されないことが多々あるですが,対処法あります?
再起動すれば表示されるようになるのですが
デザイナにFormが表示されないことが多々あるですが,対処法あります?
再起動すれば表示されるようになるのですが
813デフォルトの名無しさん (ワッチョイ 1312-IRXD)
2022/06/11(土) 10:03:21.18ID:bkgrPiRo0 配列の読み書きを少しでも速くしようとポインタ使用して実際に速くなったけど
そうなると配列のインデックス指定する書き方が存在する意味ってあるんかなあと思った
そうなると配列のインデックス指定する書き方が存在する意味ってあるんかなあと思った
814デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 10:14:35.97ID:nSw5Wtt+M 用途次第かと
ポインターは相対指定に便利
配列インデックスは絶対位置指定で便利
ポインターは相対指定に便利
配列インデックスは絶対位置指定で便利
815デフォルトの名無しさん (ワッチョイ 3302-/e9c)
2022/06/11(土) 10:32:59.56ID:zZQkghbK0 >>808
NGワード引っ掛かったのでURL貼れないけど、
JIT 最適化にも負けずに呼び出し元のメソッドを取得する方法って記事に
そんな感じの事が書いてあったな
DynamicSecurityMethodAttribute なんてのがあったのは勉強になった
ただ、実運用のデバッグでそこまで困るかと言われたら多分困らないとは思うが
(NLogの実装もNoInliningまでしかしてないし)
NGワード引っ掛かったのでURL貼れないけど、
JIT 最適化にも負けずに呼び出し元のメソッドを取得する方法って記事に
そんな感じの事が書いてあったな
DynamicSecurityMethodAttribute なんてのがあったのは勉強になった
ただ、実運用のデバッグでそこまで困るかと言われたら多分困らないとは思うが
(NLogの実装もNoInliningまでしかしてないし)
816デフォルトの名無しさん (ワッチョイ 835f-L3+7)
2022/06/11(土) 10:52:17.31ID:yOzdOwl+0 さっぱりわからん。
817デフォルトの名無しさん (ワッチョイ 7f8b-GGE9)
2022/06/11(土) 11:02:57.06ID:sQOLScrN0818デフォルトの名無しさん (ワッチョイ 7f8b-GGE9)
2022/06/11(土) 11:04:42.47ID:sQOLScrN0 >>811
そんなのがあるんですね。初めてしりました。
はまっている部分を自分でやると時間がかかりそうなので
ランサーズで出そうかと思います。
以前だしたのですが、出来るといって受けた人が
スキル不足で結局出来なくて諦めていました、、、
そんなのがあるんですね。初めてしりました。
はまっている部分を自分でやると時間がかかりそうなので
ランサーズで出そうかと思います。
以前だしたのですが、出来るといって受けた人が
スキル不足で結局出来なくて諦めていました、、、
819デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:22:23.16ID:nSw5Wtt+M >>818
スレチだな
ついでに…
2004年(15年ぐらい前)にやってたけどめんどくさいからやりたくない
その時は会社のアプリの自動化とIEでの自動ログインとMarketSpeedの操作
(自分のアプリをクリックするとチャートが表示されたりする)
そのDataGritViewと言うのがハンドル取れる奴ならいいけどWPFとかなら画像認識しないと取れない
スレチだな
ついでに…
2004年(15年ぐらい前)にやってたけどめんどくさいからやりたくない
その時は会社のアプリの自動化とIEでの自動ログインとMarketSpeedの操作
(自分のアプリをクリックするとチャートが表示されたりする)
そのDataGritViewと言うのがハンドル取れる奴ならいいけどWPFとかなら画像認識しないと取れない
820デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:24:06.54ID:nSw5Wtt+M 15年じゃないかw
2年後にライブドアショックで全部吹っ飛んだ
2年後にライブドアショックで全部吹っ飛んだ
821デフォルトの名無しさん (ワッチョイ 3302-/e9c)
2022/06/11(土) 11:24:43.29ID:zZQkghbK0 操作送るだけならSendInputでいけるけど、特定セルってのが問題な気がする
他アプリのセルの位置までは判らないと思う
他アプリのセルの位置までは判らないと思う
822デフォルトの名無しさん (オイコラミネオ MMc7-Vvh6)
2022/06/11(土) 11:28:30.85ID:PiSm3yuNM 禁断のDLL参照&Form継承という選択肢も
823デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:30:10.56ID:nSw5Wtt+M ランサーズていくらで仕事すんのか知らんけど
一日3~5万x1週間ぐらいで15~25万ぐらいならやってもいいかな
一日3~5万x1週間ぐらいで15~25万ぐらいならやってもいいかな
824デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:33:31.96ID:nSw5Wtt+M MarketSpeedは画面がコントロールじゃない部分(独自描画)が多くて
クリック位置もハードコーディングで対応した
画面レイアウトが変わったらそこで終わり
そんなものに金を払いたいとは思えない
クリック位置もハードコーディングで対応した
画面レイアウトが変わったらそこで終わり
そんなものに金を払いたいとは思えない
825デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:36:18.46ID:nSw5Wtt+M 表示されてる画像が絶対変わらないなら画像認識でクリック位置は特定できる
今ならc#でなくてpythonがおすすめかな
今ならc#でなくてpythonがおすすめかな
826デフォルトの名無しさん (ワッチョイ ff24-ISw1)
2022/06/11(土) 11:41:58.88ID:JZDk2JEH0 DataGridViewってセル一つ一つにHWNDあるようなWin32ネイティブではないよね?
ListViewラップしてるだけなら別アプリから操作するのもまあまあ簡単だが
違うならゲームのチートプログラム作るような手順でフックしていかないといけないから難易度はそこそこ高い
ListViewラップしてるだけなら別アプリから操作するのもまあまあ簡単だが
違うならゲームのチートプログラム作るような手順でフックしていかないといけないから難易度はそこそこ高い
827デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:43:41.48ID:nSw5Wtt+M そこそこじゃなくてかなりめんどくさい部類
そんなもんを20万ぐらいでやってもらえるなら頼んだ方がいい
アメリカにいた頃は大体倍ぐらいかかってる
日本は安い
そんなもんを20万ぐらいでやってもらえるなら頼んだ方がいい
アメリカにいた頃は大体倍ぐらいかかってる
日本は安い
828デフォルトの名無しさん (ワッチョイ 3302-/e9c)
2022/06/11(土) 11:47:13.06ID:zZQkghbK0 ListViewとかのOS標準コントロールと訳が違うからな
ぶっちゃけ安定性担保するの難しいから金貰ってもやりたくない
ぶっちゃけ安定性担保するの難しいから金貰ってもやりたくない
829デフォルトの名無しさん (ワッチョイ ff24-ISw1)
2022/06/11(土) 11:50:18.15ID:JZDk2JEH0 俺がやるとしたら別アプリではなくDllInjectionで新しいスレッド作成して新Windowなりコンソールなりオーバーレイなりで入力装置を設ける
dnSpy等でDataGridViewの必要な関数を調べてフックなり呼び出しをする
こういうDLLをC++で作る
dnSpy等でDataGridViewの必要な関数を調べてフックなり呼び出しをする
こういうDLLをC++で作る
830デフォルトの名無しさん (ワッチョイ 1349-JPbs)
2022/06/11(土) 11:51:05.64ID:Gd+9hiJL0 てかそのとあるソフトに相談するのが筋じゃね、しらんけど
831デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/11(土) 12:06:22.21ID:AA7Hrvp5M >>829
その手の手法は、アンチウイルスソフトに検出されたりしないかね
その手の手法は、アンチウイルスソフトに検出されたりしないかね
832デフォルトの名無しさん (ワッチョイ ff24-ISw1)
2022/06/11(土) 12:13:46.16ID:JZDk2JEH0 >>831
インジェクター不要な手順でやれば高確率で検出されない
逆にCreateRemoteThreadとかWriteProcessMemoryとかSetWindowsHookExを用いてDllInjectionを行う一般的なやり方だと検出されやすい
インジェクター不要な手順でやれば高確率で検出されない
逆にCreateRemoteThreadとかWriteProcessMemoryとかSetWindowsHookExを用いてDllInjectionを行う一般的なやり方だと検出されやすい
833デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/11(土) 12:36:35.87ID:AA7Hrvp5M しかし、やってる内容が初心者用スレじゃないなw
834デフォルトの名無しさん (ワッチョイ 1349-JPbs)
2022/06/11(土) 12:39:11.35ID:Gd+9hiJL0 まあ他のソフトのhackやしな
835デフォルトの名無しさん (スッププ Sd1f-TUn1)
2022/06/11(土) 15:22:27.74ID:gaZWNAtud >>809
余裕だけどここで教えたくないって人が多いだろう終了
余裕だけどここで教えたくないって人が多いだろう終了
836デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 16:29:02.82ID:nSw5Wtt+M おそらくやってやれないことはないけどめんどくさいし
どうせ買い叩こうって感じが丸見えなんだな
本気で最低20万出すのか?
セミプロに1万円ぐらいでやらせようとしてるんじゃないか?
どうせ買い叩こうって感じが丸見えなんだな
本気で最低20万出すのか?
セミプロに1万円ぐらいでやらせようとしてるんじゃないか?
837デフォルトの名無しさん (アウアウウー Sa67-hiZJ)
2022/06/11(土) 16:47:05.38ID:h1ISo/Y7a838デフォルトの名無しさん (ワッチョイ 0363-+Xu/)
2022/06/11(土) 17:59:45.45ID:FAF2b64f0 AdvancedWindows読んで頑張れよぉー
839デフォルトの名無しさん (ワッチョイ cfbb-7/FS)
2022/06/11(土) 18:04:49.31ID:JVIYSo9r0 よく自動で動かしたいような類のものは、投資からギャンブル系まで大抵Android用のアプリがある
で、そっちの方がUIが画一的で自動化が楽だ
で、そっちの方がUIが画一的で自動化が楽だ
840デフォルトの名無しさん (ワッチョイ a341-l+B+)
2022/06/11(土) 18:40:19.75ID:SEgd6iss0841デフォルトの名無しさん (アウアウウー Sa67-d8PR)
2022/06/12(日) 14:39:32.51ID:I3A8GVMIa RPAで作るのがベストアンサー
842デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/12(日) 16:38:47.79ID:tUHADwRiM Jane Styleみたいのを操作したいなら別の方法もあるけどな
843デフォルトの名無しさん (ワッチョイ 7f8b-hiZJ)
2022/06/12(日) 17:24:30.56ID:QV8yCq5p0 レベルが高過ぎ
初心者じゃないだろ
初心者じゃないだろ
844デフォルトの名無しさん (ワッチョイ 6f9e-yYLg)
2022/06/12(日) 23:41:28.71ID:9SOLboVj0 C#はVBと同じ言語だな。
あたかもC++の兄弟言語であるかのように見せかけただけのVBだ。
あたかもC++の兄弟言語であるかのように見せかけただけのVBだ。
845デフォルトの名無しさん (ワッチョイ ff10-GGE9)
2022/06/12(日) 23:54:43.12ID:HGna1dCW0 どこがVBなんだよ
全然違うだろ
全然違うだろ
846デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/13(月) 00:02:14.17ID:pLdSjTz90 どこらへんが同じに見えたんだろーな
847デフォルトの名無しさん (ワッチョイ ff79-bGSb)
2022/06/13(月) 00:20:55.54ID:aH8v7olF0 巨大ランタイムに依存してる辺りはVBだな
OSに標準で入ってなければ許されないだろう
C#の前身のDelphi/C++builderもランタイム配布問題を抱えてたし
OSに標準で入ってなければ許されないだろう
C#の前身のDelphi/C++builderもランタイム配布問題を抱えてたし
848デフォルトの名無しさん (オッペケ Sr87-kuad)
2022/06/13(月) 00:40:33.70ID:1Ru3M8ZSr Coreで単一実行ファイル作るとクソデカexeが生成されて依存ランタイムの量にビビる
849デフォルトの名無しさん (ワッチョイ 63d2-asUV)
2022/06/13(月) 01:00:22.51ID:VfkStGxI0 同じ.NET Frameworkの中間言語にコンパイルするという意味なら同じだが
VBを機能拡張しまくってようやく追いつかせたんだぞ
まぁVBは.NET5で見捨てられたが
VBを機能拡張しまくってようやく追いつかせたんだぞ
まぁVBは.NET5で見捨てられたが
850デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/13(月) 04:07:39.98ID:Vh92aGQu0 >>844
VB.NETと同じCLS準拠の言語
VB.NETと同じCLS準拠の言語
851デフォルトの名無しさん (ワッチョイ 7305-yYLg)
2022/06/13(月) 05:47:25.99ID:QonCP77t0 switch文は各caseの末尾にbreak必須で、main関数もJavaと同様にクラスで囲い込まないと
いけなくて、それで同じ.net frameworkのプログラムを作るだけだからVBと同じだ。
C#は関数にデフォルト引数が使えない。旧VB6の関数も使うならVBが良し、そして文字列
の扱いでは、VBならLike演算子も使える。C#でExcelを制御するCOM対応のDLLも作ったこと
もあるが、元々VBAでやることをDLLで作るなら、素直に同じ系統の言語であるVB(.net)でや
ればいいものを、何でC#で作るのか疑問だ。
C#なら複雑な文字列の扱いはどうやってるんかいな。VBならLike演算子で済ませられるもの
でも、毎度正規表現クラスを使ったりしてるんかいな。
C#はC++の良さもVBの良さも生かせない言語とちゃうんかいな。
いけなくて、それで同じ.net frameworkのプログラムを作るだけだからVBと同じだ。
C#は関数にデフォルト引数が使えない。旧VB6の関数も使うならVBが良し、そして文字列
の扱いでは、VBならLike演算子も使える。C#でExcelを制御するCOM対応のDLLも作ったこと
もあるが、元々VBAでやることをDLLで作るなら、素直に同じ系統の言語であるVB(.net)でや
ればいいものを、何でC#で作るのか疑問だ。
C#なら複雑な文字列の扱いはどうやってるんかいな。VBならLike演算子で済ませられるもの
でも、毎度正規表現クラスを使ったりしてるんかいな。
C#はC++の良さもVBの良さも生かせない言語とちゃうんかいな。
852デフォルトの名無しさん (ワッチョイ 7305-yYLg)
2022/06/13(月) 06:02:44.15ID:QonCP77t0 最も基本的なところの記述はCに似てるが、switch文のbreak必須仕様はVBのSelect Case文と結局同じで、
ヘッダーファイルというものはなく、#include文もなく、クラスの書き方はC++とは類似点が皆無と
言えるもので、実際にはVBのほうが十分に似てる。
ヘッダーファイルというものはなく、#include文もなく、クラスの書き方はC++とは類似点が皆無と
言えるもので、実際にはVBのほうが十分に似てる。
853デフォルトの名無しさん (ワッチョイ 7305-yYLg)
2022/06/13(月) 06:06:57.50ID:QonCP77t0 マネージ拡張C++ならボクシングやアンボクシングも必要になるところも、C#にはそれが
無くて、VBとの書き方は末尾にセミコロンを付けるだけの違いでしかない。
無くて、VBとの書き方は末尾にセミコロンを付けるだけの違いでしかない。
854デフォルトの名無しさん (ワッチョイ ffad-gL1p)
2022/06/13(月) 07:10:47.00ID:SowNiufC0 >>851
VBと同じで何が問題なの?
Basicに慣れてる人はVB、C/C++に慣れてる人はC#、と多くの人に対してハードルを低くしてる
あと、デフォルト引数もあるし、Like演算子の代わりもあるよ
VBと同じで何が問題なの?
Basicに慣れてる人はVB、C/C++に慣れてる人はC#、と多くの人に対してハードルを低くしてる
あと、デフォルト引数もあるし、Like演算子の代わりもあるよ
855デフォルトの名無しさん (オッペケ Sr87-JPbs)
2022/06/13(月) 08:02:40.22ID:BEV+i+nur トップレベルステートメントとか出たし、
VB使ってるからって妙にc#だけを意識してない?
活かせないとか皆無とか強い言葉で自分を守ろうとしてるのが見え見えで悲しい
VB使ってるからって妙にc#だけを意識してない?
活かせないとか皆無とか強い言葉で自分を守ろうとしてるのが見え見えで悲しい
856デフォルトの名無しさん (ワッチョイ c301-l+B+)
2022/06/13(月) 08:08:14.74ID:uSrHV9F/0 次の患者さんどうぞ~
857デフォルトの名無しさん (スップ Sd1f-asUV)
2022/06/13(月) 08:10:48.55ID:si/cekt2d デフォルト引数が導入されたのがC#4だから昔のC#を思い出しながら書いてるのかもしれん
858デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/13(月) 11:07:29.62ID:9GYOsPFhM859デフォルトの名無しさん (ワッチョイ ffad-WqZx)
2022/06/13(月) 11:32:13.48ID:de8S7gm20 デフォルト引数がないwww
860デフォルトの名無しさん (ワッチョイ bf2d-IRXD)
2022/06/13(月) 11:38:19.12ID:DMu0O5hM0 C# 4.0って出たの12年前だよな
861デフォルトの名無しさん (スッププ Sdff-TUn1)
2022/06/13(月) 12:16:36.33ID:o5rEnsm9d VB→Delphi→C#←C/C++
の進化は古参なら皆知ってるよね
右矢印は同じ人の仕業だし
の進化は古参なら皆知ってるよね
右矢印は同じ人の仕業だし
862デフォルトの名無しさん (アウアウアー Saff-APne)
2022/06/13(月) 12:17:04.72ID:C6CMrLssa Int16,32,64の使い分けって必要でしょうか
メモリが非常に少ない環境であればシビアになるべきでしょうが
普通の環境であればInt32を使用すれば問題ないと考えていますが合ってますかね
メモリが非常に少ない環境であればシビアになるべきでしょうが
普通の環境であればInt32を使用すれば問題ないと考えていますが合ってますかね
863デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/13(月) 12:25:17.08ID:jMLb0TIiM 合ってる
864デフォルトの名無しさん (アウアウアー Saff-APne)
2022/06/13(月) 12:48:25.13ID:C6CMrLssa865デフォルトの名無しさん (ワッチョイ 1349-JPbs)
2022/06/13(月) 13:05:33.39ID:cpO+ItGK0 いえいえ
866デフォルトの名無しさん (ワッチョイ bf2d-IRXD)
2022/06/13(月) 13:15:12.88ID:DMu0O5hM0 >>864
Int16,Int32,Int64ではなく、それぞれの別名であるshort, int , longと記述することが多い
大抵のお手本はintとだけ書いてあるでしょ
long(Int64)は32bitでは表現出来ない大きな数値を扱う時に使う
それ以外はint(Int32)
short(Int16)はあまり使わないな
Int16,Int32,Int64ではなく、それぞれの別名であるshort, int , longと記述することが多い
大抵のお手本はintとだけ書いてあるでしょ
long(Int64)は32bitでは表現出来ない大きな数値を扱う時に使う
それ以外はint(Int32)
short(Int16)はあまり使わないな
867デフォルトの名無しさん (オッペケ Sr87-JPbs)
2022/06/13(月) 13:27:04.60ID:XRTwYvhJr クソ長い円周率とか宇宙規模の計算とか、doubleでもlongでも無理とかのとき、型はどうするん
まあ聞いてどうすることもないんやけど
まあ聞いてどうすることもないんやけど
868デフォルトの名無しさん (ワッチョイ bf2d-IRXD)
2022/06/13(月) 13:34:59.17ID:DMu0O5hM0 >>867
整数ならBigInteger構造体があるよ
整数ならBigInteger構造体があるよ
869デフォルトの名無しさん (ワッチョイ cf33-BMQg)
2022/06/13(月) 13:37:56.77ID:sEeBHTnm0 宇宙規模の計算とか、桁数が有ってればOKみたいな世界やからへーきへーき(何が
870デフォルトの名無しさん (ブーイモ MM7f-rAXT)
2022/06/13(月) 14:45:53.11ID:aFoq3UZeM 1ビットも無駄にしてはならない
shortでいいのにintなんか使った日には島流し
shortでいいのにintなんか使った日には島流し
871デフォルトの名無しさん (ワッチョイ ff7c-GGE9)
2022/06/13(月) 14:53:05.21ID:5L5eEzJU0 DBならまだしもC#でshortとか使う価値が無いのだけどね
872デフォルトの名無しさん (ワッチョイ cfbb-7/FS)
2022/06/13(月) 15:07:51.99ID:13gVP5w60 細かい型を使ってもRustみたいにメモリギチギチに詰めてもらえる訳でもなく、何をするにもキャストばかり発生・・・・使い所は難しい
873デフォルトの名無しさん (ワッチョイ ff24-ISw1)
2022/06/13(月) 15:51:41.19ID:kOcD7AOC0 >>870
ビット単位で言うなら組み込み型そのまま使ってる時点で無駄にしまくり
上限値が分かってる場合はC/C++のビットフィールドを利用すると以下の3フィールドで4バイトしか使われない
int Year : 23; //MaxValue = 8388607
int Month : 4; //MaxValue = 15
int Day : 5; //MaxValue = 31
ビット単位で言うなら組み込み型そのまま使ってる時点で無駄にしまくり
上限値が分かってる場合はC/C++のビットフィールドを利用すると以下の3フィールドで4バイトしか使われない
int Year : 23; //MaxValue = 8388607
int Month : 4; //MaxValue = 15
int Day : 5; //MaxValue = 31
874デフォルトの名無しさん (アウアウアー Saff-APne)
2022/06/13(月) 16:15:38.07ID:C6CMrLssa875デフォルトの名無しさん (ワッチョイ bf2d-IRXD)
2022/06/13(月) 17:00:07.25ID:DMu0O5hM0876デフォルトの名無しさん (ワッチョイ c301-M2VI)
2022/06/13(月) 17:16:24.85ID:btkDjrJL0 スタックの幅は可変じゃ無いから 32bit幅なら16bitの値を入れても32bit喰うよ
877デフォルトの名無しさん (ワッチョイ 13da-xATt)
2022/06/13(月) 17:39:01.23ID:eBuUTzcD0 o/rマッパのコードファーストでテーブルカラム定義する場合にもよく使う。
postgreのsmallintならC#のshortとか。
また小型機器なんかとバイナリ通信する場合もshortが2バイト幅って原理を使って通信フォーマット組み立てたりする
postgreのsmallintならC#のshortとか。
また小型機器なんかとバイナリ通信する場合もshortが2バイト幅って原理を使って通信フォーマット組み立てたりする
878デフォルトの名無しさん (アウアウウー Sa67-d8PR)
2022/06/13(月) 17:56:30.29ID:jfMe+W5qa879デフォルトの名無しさん (ワッチョイ 3302-/e9c)
2022/06/13(月) 18:06:55.61ID:oD70VLNY0 バイナリフォーマットが決まってるケースならともかく、通常はintでええやろ
880デフォルトの名無しさん (アウグロ MMdf-DBHA)
2022/06/13(月) 18:29:01.50ID:ijJWQwGQM っていうか用途はあくまでも○○ってケースが多いねってだけ
占いや天気予報の類
マニュアルなどの最小最大の仕様や今回の目的にあった型を変数ごとに決定しないと駄目
結構辛い作業になることもある
占いや天気予報の類
マニュアルなどの最小最大の仕様や今回の目的にあった型を変数ごとに決定しないと駄目
結構辛い作業になることもある
881デフォルトの名無しさん (アウアウウー Sa67-hiZJ)
2022/06/13(月) 20:24:19.87ID:iGSNe98na audioデータは16の方が32や64より多いな
882デフォルトの名無しさん (ワッチョイ 63c0-yYLg)
2022/06/13(月) 20:32:25.97ID:vx8o1Ibh0 >>859 元々はデフォルト引数がなくて、随分出遅れてから追加されたんであって、そんなことも知らずにwwwかいな
883デフォルトの名無しさん (ワッチョイ bfba-APne)
2022/06/13(月) 22:49:16.87ID:nsYJGXTe0 >>877
postgreのドキュメントには、integerが一番バランスが取れているからsmallint使うのは限定的とあるね。
.NETでも同じことが言えるのでは。
integer型は数値の範囲、格納サイズおよび性能において最も釣合いが取れていますので、一般的に使用されます。 smallint型は一般的にディスク容量に制限が付いている場合にのみ使用します。 bigint型はintegerの許容範囲では十分ではない場合にのみ使用すべきです。 integerデータ型の方がずっと速いからです。
postgreのドキュメントには、integerが一番バランスが取れているからsmallint使うのは限定的とあるね。
.NETでも同じことが言えるのでは。
integer型は数値の範囲、格納サイズおよび性能において最も釣合いが取れていますので、一般的に使用されます。 smallint型は一般的にディスク容量に制限が付いている場合にのみ使用します。 bigint型はintegerの許容範囲では十分ではない場合にのみ使用すべきです。 integerデータ型の方がずっと速いからです。
884デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/14(火) 01:29:50.35ID:6PvBR2SK0 >>882
.NET Framework 2.0 からようこそw
.NET Framework 2.0 からようこそw
885デフォルトの名無しさん (ワッチョイ 63c0-yYLg)
2022/06/14(火) 02:46:01.05ID:TDtroYoO0 >>854
同じだから、あんなのどっちでも普通に書けてハードルはない。
vbとc#は相互に書き換えができる。
決してCを継承した言語ではないのにC#って名前が実態と合ってない。
で、Like演算子の代わりって何。VBでは使えずC#でのみで使える何かがあるんかいな。
同じだから、あんなのどっちでも普通に書けてハードルはない。
vbとc#は相互に書き換えができる。
決してCを継承した言語ではないのにC#って名前が実態と合ってない。
で、Like演算子の代わりって何。VBでは使えずC#でのみで使える何かがあるんかいな。
886デフォルトの名無しさん (ワッチョイ 63c0-yYLg)
2022/06/14(火) 03:12:49.82ID:TDtroYoO0 >>845 >>846
プログラム初級者だな。
文末のセミコロンの有無と、ブロックの先頭が"{"末尾が"}"かどうかの違いだけで判断して、全然違うと思い込んでしまう人か。
その基準で言えばC++に似た言語と思ってるのかもしれんが、実際にはC#は決してCを継承した言語ではなく、C++やCと何ら
似ているものはない。
見かけ上は、C++の改良言語。
フタを開ければ中身はVB。このVBを、VBに見えなくするように構文を変化させただけのものでしかない。
実際に、いつもVB使っててC#は使ってなかったが、業務で初めてC#のプログラム改修も、言語の問題で行き詰まりはなかった。
このことからも、やはりC#はVBだ。
プログラム初級者だな。
文末のセミコロンの有無と、ブロックの先頭が"{"末尾が"}"かどうかの違いだけで判断して、全然違うと思い込んでしまう人か。
その基準で言えばC++に似た言語と思ってるのかもしれんが、実際にはC#は決してCを継承した言語ではなく、C++やCと何ら
似ているものはない。
見かけ上は、C++の改良言語。
フタを開ければ中身はVB。このVBを、VBに見えなくするように構文を変化させただけのものでしかない。
実際に、いつもVB使っててC#は使ってなかったが、業務で初めてC#のプログラム改修も、言語の問題で行き詰まりはなかった。
このことからも、やはりC#はVBだ。
887デフォルトの名無しさん (ワッチョイ 335f-Wc3G)
2022/06/14(火) 05:11:45.87ID:xBe9hVtf0 C♯の兄弟言語だったVB.netはもう無くなったのか
888デフォルトの名無しさん (ワッチョイ ff02-fjGI)
2022/06/14(火) 05:51:56.61ID:SQz7DEKB0 進歩…チンポが無くなったんだよ
889デフォルトの名無しさん (アウアウクー MM87-APne)
2022/06/14(火) 08:36:39.67ID:JqEULUJtM VB.NETってもう言語に機能追加しないって言われてなかったっけ
890デフォルトの名無しさん (ワッチョイ 1349-JPbs)
2022/06/14(火) 08:47:37.49ID:HeFoN1F80■ このスレッドは過去ログ倉庫に格納されています
