◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

ふらっと C#,C♯,C#(初心者用) Part154 ->画像>4枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1644416019/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
2022/02/09(水) 23:13:39.45ID:1A90hyai0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part153
http://2chb.net/r/tech/1639403601/
■関連スレ
C#, C♯, C#相談室 Part96
http://2chb.net/r/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
2デフォルトの名無しさん (ワッチョイ 1202-EIIy)
2022/02/13(日) 00:08:15.38ID:FGdWJXDS0
何でシャープなのにフラットなんですか?
3デフォルトの名無しさん (ワッチョイ a701-YGx7)
2022/02/13(日) 03:05:32.20ID:VSC7OudY0
何でだと思いますか?
4デフォルトの名無しさん (ワッチョイ 92da-mYH1)
2022/02/15(火) 23:10:38.63ID:cOFK9ujT0
多次元配列とジャグ配列ってメモリ使用量は同じですか?
(例えばint[3,3]とint[3][3])
5デフォルトの名無しさん (アウアウウー Sac3-piVT)
2022/02/15(火) 23:16:22.58ID:V26FO7wsa
>>4
意地悪な言い方をすれば、配列のメモリ使用量 = 要素数だと考えると
ジャグ配列の方が要素数が少ないのでメモリ使用量も小さいことになる。
6デフォルトの名無しさん (アウアウウー Sac3-9hE7)
2022/02/16(水) 00:42:55.65ID:zdbyhmola
c#の実装がどうなってるのかは知らないけど普通に考えて
多次元より配列の配列の方がメモリ効率悪くなるからメモリ使用量も多いはず
7デフォルトの名無しさん (ワッチョイ 1f24-OGev)
2022/02/16(水) 09:24:38.60ID:9PrGaEWW0
シャグ配列は配列の配列のためのヒープ+配列それぞれのヒープ、つまりint[3][3]だと4つのオブジェクトからなる
メモリ的にも連続してない上に4つのオブジェクトヘッダ分(32bitだと8byte?64bitだと16byte?)余計に要する
int[3,3]の多次元配列は実体はint[9]の1オブジェクトとしてレイアウトされてそうだけど実際どうなってるかはunsafeで確かめてみないと分からない
Console.WriteLine(Unsafe.AsPointer(ref array[0,0]));とかでアドレスを調べてみると良い
8デフォルトの名無しさん (ワッチョイ a701-YGx7)
2022/02/16(水) 10:02:32.42ID:xaORQRwj0
小細工せずにシンプルに富豪的プログラミングすりゃええやん
9デフォルトの名無しさん (テテンテンテン MMde-zyG0)
2022/02/16(水) 10:20:29.58ID:FqYQ+dJNM
ソース忘れたけどジャグ配列の方がアクセス速いらしい
10デフォルトの名無しさん (テテンテンテン MMde-zyG0)
2022/02/16(水) 11:20:29.58ID:FqYQ+dJNM
すまん嘘ついたわ
シーケンシャルはジャグのが速いけど、ランダムだと逆らしい
普通に考えると >>7 の言うようにジャグは配列のヘッダ分余分に使うと思うけど、プリミティブ型の配列は最適化で何か消し飛びそうな気もするから、正直あんま変わらなさそうな気がする
11デフォルトの名無しさん (ブーイモ MM0e-/t+S)
2022/02/16(水) 14:03:09.07ID:RtFWZL7LM
全部詰め込むならジャグ配列のほうが容量は食う
多次元配列はint[M x N]で確保されて計算経由でアクセス
速度は環境や使い方によって違うので自分の使い方で計測したほうがいい
12デフォルトの名無しさん (ワッチョイ efae-Luj5)
2022/02/16(水) 15:12:12.97ID:t9owAYRA0
もっと楽観的に取り組もうぜ
13デフォルトの名無しさん (スフッ Sd32-VdZC)
2022/02/17(木) 10:51:36.86ID:GVuWfQald
正直いって、メモリや速度より組みやすさで選びたいよね。
性能を求めるなら、Rustとかの方が良いんでしょ?
14デフォルトの名無しさん (ワッチョイ 3779-H8zH)
2022/02/17(木) 12:14:06.04ID:JwXvZXiU0
え?それ、実際に計測していってんの?
15デフォルトの名無しさん (テテンテンテン MMde-zyG0)
2022/02/17(木) 12:26:13.49ID:eZZ7a2UPM
後々の保守考えると、実際のとこ見やすさと組みやすさが最重要だと思う
16デフォルトの名無しさん (ワッチョイ bfbd-oz1W)
2022/02/21(月) 21:06:11.37ID:8NF9kOJ70
VBAからのC ♯に挑戦中です。
visual studio使ってるんですが、予測変換やらその他諸々便利な事が多く感動しております。。
質問なんですが、VBAでやる場合は印刷=Excel sheetでみたいな固定概念なんですがこっちの場合って印刷出力は物によるとは思うんですが、どんな感じですか?調べると、print document??なるもので頭でイメージして印刷用のベースを自作して作るのですか?
印刷内容は至ってシンプルな文字列やら数値です。
17デフォルトの名無しさん (ワッチョイ 83d2-vGHd)
2022/02/21(月) 21:40:50.41ID:dmBIFY6O0
そもそもプリンタから紙を出すということ自体発想がなかったわ

ライブラリ使うにしても
入力の文字列やら数値から印刷用のレイアウトを起こさなきゃいけないし、
プリンタに印刷データを投げなきゃいけない

簡単に印刷と言うけど結構やることは多い
18デフォルトの名無しさん (アウアウウー Sae7-8E80)
2022/02/21(月) 21:44:55.46ID:i5JttRhRa
プリンタは画像描画みたいなもの
縦横ピクセルサイズ決めて、そこのxy座標どこにどのくらいの大きさで文字を描く〜ってイメージ
印刷プレビューも使えるから適当にググって試せばすぐわかるよ
19デフォルトの名無しさん (ワッチョイ ff01-bFjU)
2022/02/21(月) 21:51:01.85ID:Gf4lGfIx0
>>16
イメージは1ページの白紙に自分でしこしこテキストとか図形を書く感じ
(数値は自分で文字列にして書く)
とりあえずこのあたりのサンプルをビルドしてみては?
https://docs.microsoft.com/ja-jp/dotnet/api/system.drawing.printing.printdocument.print
20デフォルトの名無しさん (ワッチョイ bfbd-oz1W)
2022/02/21(月) 23:35:22.77ID:8NF9kOJ70
なるほど、やはりしこしこ描いてくんですね。やる事多そうですね。
勉強も兼ねてやってみます。
ありがとうございます!
21デフォルトの名無しさん (テテンテンテン MM7f-lT30)
2022/02/22(火) 10:46:16.00ID:vNlU0s1vM
会社で買えるならアクレポが楽だけどな
PDFでいいなら他の手もあるけど
22デフォルトの名無しさん (ワッチョイ ff6a-nAeH)
2022/02/22(火) 10:54:46.02ID:Q9cfD2FD0
Crystal Reports for VSは未だに.Net Frameworkのみの対応なんだっけ?
23デフォルトの名無しさん (ワッチョイ a301-qD7Y)
2022/02/23(水) 06:06:54.77ID:8XUT1BDs0
そんなん使ってる環境で.net core対応かどうかとか気にするの?
24デフォルトの名無しさん (ワッチョイ 83ad-QVqR)
2022/02/23(水) 10:26:26.53ID:EjF360bu0
現時点で .NET core に対応する必要あるの?
25デフォルトの名無しさん (ワッチョイ 331a-XH6J)
2022/02/23(水) 10:52:19.37ID:IFX4MVN+0
「現時点でES6に対応する必要あるの?」
って言ってたJavaScripterの末路を知らんのか
26デフォルトの名無しさん (ワッチョイ cfcf-9yE7)
2022/02/23(水) 11:02:58.12ID:rcGZ+xyY0
対応する必要が出てきてから移行したよ
27デフォルトの名無しさん (ワッチョイ ffad-N0zA)
2022/02/23(水) 11:37:00.39ID:6huhQPG70
今から対応を考えるなら.NETの方にしとけ
28デフォルトの名無しさん (ワッチョイ 93e3-9yE7)
2022/02/23(水) 11:53:14.46ID:pfP6MzJI0
未だに.NET Framework2.0が動き続けている俺社には耳が痛い
あと6年もサポート残っているんだからいい加減移行考えろよと
29デフォルトの名無しさん (ワッチョイ ff02-9L8B)
2022/02/23(水) 12:31:01.73ID:n4QLtIZ70
XPでも使ってるのか

現行のOSで2.0はかえって難しいだろ
30デフォルトの名無しさん (ワッチョイ b302-mA98)
2022/02/23(水) 13:00:38.62ID:a6rWCkrR0
WPFで帳票もいけるみたいだぞ
https://qiita.com/cyberCatvb/items/1bf86e75b8e5738d432f
31デフォルトの名無しさん (アウアウウー Sae7-8E80)
2022/02/23(水) 13:46:28.74ID:mlk9UOBoa
今の.netと数年前の.net coreは別物になってる
それに引き換えframeworkは変化が少ない。c++のmfcみたいに細々と生きて切り捨てられることもないだろ
どっちが保守楽かって考えたら・・・
32デフォルトの名無しさん (ワッチョイ b302-mA98)
2022/02/23(水) 14:00:40.20ID:a6rWCkrR0
規模がでかい社内システムだと、中々移行に踏み切るのも難しい場合はあるな
部分部分で少しづつ置き換えられるならいいんだが、色々連動してたりすると下手に手が出せん
33デフォルトの名無しさん (ワッチョイ 83ad-UVhd)
2022/02/23(水) 14:44:30.90ID:EjF360bu0
.NET6への移行(移植)はライブラリの対応待ちだな
34デフォルトの名無しさん (ワッチョイ ca24-yy09)
2022/02/26(土) 20:05:44.30ID:UUNvHcAJ0
いやWindows標準搭載待ちだろ
.NET6ですら標準化予定なしって聞いてからはC#自体書く気なくなったわ
35デフォルトの名無しさん (ワッチョイ ca02-Y5l0)
2022/02/26(土) 20:41:04.47ID:e5W/1zqv0
COMコンポーネントが作れなくなってるので移行しづらい
36デフォルトの名無しさん (ワッチョイ c3ad-M/90)
2022/02/27(日) 10:04:44.98ID:VN1UC9sN0
>>34
まずそれな
37デフォルトの名無しさん (ワッチョイ 6f02-8W3/)
2022/02/27(日) 10:20:11.38ID:FLYW632f0
>>35
まだ作る事ってある?
使うのは偶に必要になるけど
38デフォルトの名無しさん (ワッチョイ cae6-ei6B)
2022/02/27(日) 17:20:47.20ID:hLXeworC0
WinFormsのTextBoxでKeyPressイベントが発生した時、キャレットの位置が行頭なのかどうかを判定したいのですが、

if(TextBox1.Text[TextBox1.SelectionStart].ToString() == Environment.NewLine)

では判定出来ないようです。
判定する方法を教えてください。
39デフォルトの名無しさん (アウアウウー Sa2f-n9nK)
2022/02/27(日) 17:33:25.94ID:6fl1teDTa
[TextBox1.SelectionStart]だと行頭だから
[TextBox1.SelectionStart-1]になるんじゃない?
40デフォルトの名無しさん (ワッチョイ cae6-ei6B)
2022/02/27(日) 17:59:32.72ID:hLXeworC0
>>39
ダメでした・・・。
41デフォルトの名無しさん (アウアウウー Sa2f-n9nK)
2022/02/27(日) 18:07:12.14ID:6fl1teDTa
一文字しかとってないからNewlineじゃなくて"\n"かな
42デフォルトの名無しさん (ワッチョイ 8379-BANU)
2022/02/27(日) 19:11:31.38ID:ZUZKwXZL0
DOBONみたいに地道にやったほうがよくね?
https://dobon.net/vb/dotnet/control/tbgetcaretposition.html
43デフォルトの名無しさん (ワッチョイ 06e9-jC74)
2022/02/28(月) 09:21:55.74ID:+yCudJYj0
下記のOBJListの並びを「I,N,P,P」から「P,P,I,N」のようにPが先頭に来るよう入れ替えしたく。
OBJListの要素をforeachで回してPを見つけたら先頭に移動する等試したのですが、
処理中にOBJListの順番を変えるなと怒られてしまいました。どのようにすれば実現できるでしょうか?
よろしくお願いします。

class OBJ
{
public string Name { get; set; }
public int No { get; set; }
}

private void narabekae()
{
List<OBJ> OBJList = new List<OBJ>();
OBJList.Add(new OBJ { Name = "I", No = 1 });
OBJList.Add(new OBJ { Name = "N", No = 1 });
OBJList.Add(new OBJ { Name = "P", No = 1 });
OBJList.Add(new OBJ { Name = "P", No = 2 });
}
44デフォルトの名無しさん (スッップ Sdea-PHKB)
2022/02/28(月) 09:39:44.52ID:+7QZaSxQd
OBJListを使いまわさずに新規のListを作る
Enumerable.OrderByとか
45デフォルトの名無しさん (アウアウウー Sa2f-n9nK)
2022/02/28(月) 13:06:35.56ID:UX0HcLa3a
そういうのはforで後ろから回して、削除、挿入
46デフォルトの名無しさん (テテンテンテン MM86-g6h8)
2022/02/28(月) 17:42:35.91ID:XSUMuMfaM
>>43
そもそもがなんで順番変えるな!って怒られるかわかる?

分かったら対応もわかるはず
47デフォルトの名無しさん (ワッチョイ 06e9-jC74)
2022/02/28(月) 19:07:11.88ID:Dbx5MQPW0
>>46
foreach中に順番変えられたらforeachが成り立たないのだろうなとは思いました。
頂いたアドバイスからPを別のリストに移動してドッキングしても
邪道では無さそうなので、そうしようと考えています。
48デフォルトの名無しさん (ワッチョイ ca24-yy09)
2022/03/01(火) 11:27:38.32ID:Dq7cA1DN0
それだけのために一時バッファとしてもう一個リスト作るのはスマートじゃない
Remove&先頭挿入をペアで行う場合は後方の順番は狂わないので原始的にforで回せばいい

for (int i = 0, end = obj_list.Count; i < end; ++i) {
var obj = obj_list[i];
if (obj.Name != "P") continue;
obj_list.RemoveAt(i);
obj_list.Insert(0, obj);
}
49デフォルトの名無しさん (ワッチョイ ca24-yy09)
2022/03/01(火) 11:38:43.21ID:Dq7cA1DN0
>>48
そういえばint i = 1からでよかったな
50デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2022/03/01(火) 12:59:14.06ID:haFp+aqn0
>>48
RemoveAtもInsertもO(n)だから
そのやり方なら新規にリストを作るほういいんじゃない?
51デフォルトの名無しさん (スップ Sd8a-8W3/)
2022/03/01(火) 13:00:38.80ID:qybIiuxnd
>>45が自分もいいきがするけど何も考えずにやると移動したPのデータの順番がおかしくなりそうにも思えたから
自分はPの移動用のリストを用意してもとのリストを後ろから参照して最後にもとのリストに挿入がいいかなと思った
52デフォルトの名無しさん (ラクッペペ MM86-cxam)
2022/03/01(火) 13:03:47.38ID:RNWoyucIM
List.Sort が出てこないけどなんか欠点でもあるの?
53デフォルトの名無しさん (アウアウウー Sa2f-n9nK)
2022/03/01(火) 13:14:03.84ID:FuAp7249a
新しくリストを作るって以上に処理が多くなる
54デフォルトの名無しさん (ワッチョイ ca24-yy09)
2022/03/01(火) 13:31:44.32ID:Dq7cA1DN0
>>50
要素数がめちゃくちゃ多い場合はそうだな
RemoveAtで発生する後方要素の前方詰めが今回は完全に不要だから一回分多く無駄な処理が挟まってるからな
.NET5以上ならCollectionsMarshal.AsSpanを利用して
obj_span.Slice(0, i).CopyTo(obj_span.Slice(1, i));
obj_span[0] = obj;
とかに変えればO(n)処理は1回だけで済むからどんなパターンでも新規List作成より早く済むと思うが
55デフォルトの名無しさん (アウアウウー Sa2f-n9nK)
2022/03/01(火) 13:50:15.40ID:FuAp7249a
要素が少ないときは新しくリスト作る方がremove/insertよりも数倍速い
ただ新しくリスト作るのはメモリを倍食うから、要素数が多くなったら(物理メモリよりも多くなったら)どうだか
56デフォルトの名無しさん (ワッチョイ ff2f-65e0)
2022/03/01(火) 14:23:11.54ID:V9EqT+vw0
つかそもそも、並べ替えたListそのものを保存する必要があるのかとか
初めから必要な順番で保存できないかとか考えたほうが良い気がする
57デフォルトの名無しさん (スップ Sd8a-8W3/)
2022/03/01(火) 14:28:49.61ID:qybIiuxnd
そもそもでいえば並べ替えのAdd時点でPを前に入れたいってわかっていれば
それなりの実装もあるんじゃねと思ったりしているから
質問の内容だけだとやりかたなんて色々あるよね
58デフォルトの名無しさん (ワッチョイ ca79-OOjg)
2022/03/01(火) 18:06:27.21ID:fDW5QBJr0
糞みたいな方法しか出てきてないけど普通に考えると
1) 元のリストからPを抜き出しつつ、Pだけ抜き出したリストを作る
2) Pだけのリストの後ろに元のリストをマージする
あとはList<>で気の利いた方法がないか調べる
59デフォルトの名無しさん (ワッチョイ 4f17-ibFl)
2022/03/01(火) 18:38:32.31ID:SjVwjYfg0
>>58
ここまでで一番糞なのは案件満たしてないあんたやんけ
それだと「I,N,P,P」から「P,P,I,N,P,P」になってまうでw
60デフォルトの名無しさん (ワッチョイ 6b2d-jC74)
2022/03/01(火) 18:55:33.25ID:xQ0S3wJN0
>>55
元のリストの中身(OBJクラスのインスタンス)をコピーせずに新しいリストで使いまわせば
メモリー消費の一時的な増加はあまり気にしなくて良い場合が多いんじゃないかな
61デフォルトの名無しさん (ワッチョイ ca79-OOjg)
2022/03/01(火) 19:17:57.35ID:fDW5QBJr0
めんどくせえやっちゃこれでいいだろ
OBJList.Sort((a,b) => (a.Name != b.Name) ? (a.Name != "P") ? (b.Name != "P") ? 0 : 1 : -1 : 0);
62デフォルトの名無しさん (オイコラミネオ MMeb-g6h8)
2022/03/01(火) 20:17:38.37ID:lFABJG9JM
>>61
これは初心者には呪文にしか見えないだろw
63デフォルトの名無しさん (オイコラミネオ MMeb-g6h8)
2022/03/01(火) 20:18:29.71ID:lFABJG9JM
訂正
誰にも呪文にしか見えない
64デフォルトの名無しさん (ワッチョイ 6f5f-vePS)
2022/03/01(火) 20:58:33.05ID:pQFC2fuH0
これでプルリク出されたらレビュイー殺してしまうかもしれん
65デフォルトの名無しさん (ワッチョイ ca79-OOjg)
2022/03/01(火) 20:59:34.53ID:fDW5QBJr0
そういやListのソートは不安定だからNoをインデックスに見立てれば安定ソート
OBJList.Sort((a,b) => (a.Name != b.Name) ? (a.Name != "P") ? (b.Name != "P") ? (a.No - b.No) : 1 : -1 : (a.No - b.No));
LINQのOrderByは元から安定ソート
OBJList = OBJList.OrderBy(a => a.Name != "P").ToList();
66デフォルトの名無しさん (ワッチョイ 6f02-bukj)
2022/03/01(火) 21:09:10.33ID:gr6OEBT80
var weight = new Dictionary() { { "P", 1 }, { "I", 2 }, { "N", 3 } };
var result = OBJList.OrderBy( a => weight[ a.Name ] ).ToList();
の方が好み。エラーチェックは無視。
67デフォルトの名無しさん (ワッチョイ ca01-lzB5)
2022/03/01(火) 22:16:34.56ID:FpudFrD40
>>66
それ NIPP ⇒ PPIN になるんじゃね?
68デフォルトの名無しさん (ワッチョイ 8379-BANU)
2022/03/01(火) 22:17:08.92ID:BpvMrVad0
ワンループで
P用参照リストと
それ以外参照リスト作って
最後にP用を前にしてドッキング
69デフォルトの名無しさん (ワッチョイ 6336-8W3/)
2022/03/01(火) 22:42:39.70ID:kklKOfnn0
datagridviewの垂直スクロールバーについて教えてください。
datagridviewを作成した後、

DataGridViewRow[] list = new DataGridViewRow[50];
(listの中身作成)
dataGridView1.Rows.AddRange(list);

のようにしてdataGridView1にデータを表示させようとすると縦スクロールバーが上手く表示されずフリーズ状態になってしまいます。
dataGridViewを作成した後に縦スクロールバーが出るまでdataGridView1.Rows.Addを繰り返して縦スクロールバーを出した後に
上記を実行した場合は問題なく表示されます。

縦スクロールバーを出すために無意味なデータをdataGridViewに表示させるといった不必要な処理を行いたくないのですが、
データを投入しなくても縦スクロールバーを出す方法、あるいは
dataGridView1.Rows.AddRange(list);
を実行してもフリーズしない方法はありますでしょうか?
70デフォルトの名無しさん (ワッチョイ 6f02-8W3/)
2022/03/01(火) 22:53:13.83ID:i/a33NyP0
とりあえず片っ端からやってみたら
https://www.google.co.jp/search?q=datagridview+scrollbars+%E5%B8%B8%E3%81%AB%E8%A1%A8%E7%A4%BA
71デフォルトの名無しさん (ワッチョイ 6336-8W3/)
2022/03/01(火) 23:36:39.38ID:kklKOfnn0
ありがとうございます!
これでできました!

【C#】DataGridViewで編集不可やスクロールバーを常に表示する | NOARTS
https://noarts.net/archives/2703
72デフォルトの名無しさん (ワッチョイ 6f02-bukj)
2022/03/01(火) 23:50:02.54ID:gr6OEBT80
>>67
あくまでやり方の一例。
問題があるなら自分で何とかしてくれ。
73デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2022/03/02(水) 00:28:20.93ID:MSZ3LlYF0
AsSpan使ったらどうなるか興味あったからベンチしてみたら
1000件くらいだと一番高速だけど結局O(n^2)なので1~2万件でList<T>.Sortとかと逆転した
1万件程度なら余程最適化したい場合を除いてどれを選んでも性能的には問題なさそう

1. List<T>.Sort
2. Enumerable<T>.OrderBy
3. AsSpan + For Loop
4. RemoveAt + Insert + For Loop
5. Partition + Concat
74デフォルトの名無しさん (ワッチョイ 8a01-k1AF)
2022/03/02(水) 00:34:33.47ID:MSZ3LlYF0
ところで
Span<T>もしくはIEnumerable<T>のどちらかを受け取るジェネリックな関数って定義できる?
75デフォルトの名無しさん (ワッチョイ 6f02-8W3/)
2022/03/02(水) 01:42:56.13ID:O26kNIml0
そりゃ出来るやろ
LINQがおもっくそそれだし
76デフォルトの名無しさん (ワッチョイ ca01-+tM1)
2022/03/02(水) 05:50:05.45ID:+cCq037X0
>>72
いや、おかしいやり方示されても…
77デフォルトの名無しさん (ワッチョイ ca79-OOjg)
2022/03/02(水) 07:20:58.81ID:+1hBA4Bw0
PとP以外でフィルタしたリストをくっつけるのが判りやすいんかなあ
var PList = OBJList.FindAll(a => a.Name == "P");
var NPList = OBJList.FindAll(a => a.Name != "P");
PList.AddRange(NPList);
OBJList = PList;
78デフォルトの名無しさん (スッップ Sdea-PHKB)
2022/03/02(水) 08:32:07.28ID:Xi4FA93Ld
>>43 を読む限りの要件は

1. 比較の方法は「Name=="P"」だけで判断する
2. 安定ソートであること
3. 結果の返し方は(元のListを上書き変更/新規Listを作ってreturn)→質問者が何も考えてなさそうなので不明

質問者が現れて要件が確定しないとこれ以上進まんでしょ
79デフォルトの名無しさん (ワッチョイ ca01-+tM1)
2022/03/02(水) 09:19:13.48ID:+cCq037X0
>>78
> 3. 結果の返し方は(元のListを上書き変更/新規Listを作ってreturn)→質問者が何も考えてなさそうなので不明
元のListの上書きでしょ
それやろうとしてエラーになってるんだし
本当に必要な要件だったかどうかはわからんが
80デフォルトの名無しさん (テテンテンテン MM86-VJRT)
2022/03/02(水) 10:03:13.08ID:tBhSxL7sM
変にコレクション弄りまわさずに、Comparer<T>.CreateでカスタムComparer作ってSortかOrderByに食わせろ
81デフォルトの名無しさん (ワッチョイ 6f02-bukj)
2022/03/02(水) 10:20:09.79ID:6DUGQdfA0
>>76
あれに「P を先頭に持ってくる以外は元の順位を保持する」手順を追加すればいいだけだろうに。
宿題じゃないんだからそこまでは書かんよ。
82デフォルトの名無しさん (ワッチョイ 4a9b-d0o2)
2022/03/02(水) 10:21:00.91ID:KGds3ROy0
sort系持ち出してる人多いけど、P以外の順序は変えないってことは実現できるのか?
83デフォルトの名無しさん (ワッチョイ ca01-+tM1)
2022/03/02(水) 10:39:16.12ID:+cCq037X0
>>81
すでにいくつか正解出てるんだから無能のおかしいやり方なんて要らんよw
84デフォルトの名無しさん (JP 0H97-SxF4)
2022/03/02(水) 11:42:18.09ID:ZYz3XeEgH
>>47
あなたの書いた文が成り立たなくなるとか、そう言う理由でエラーが起きているわけではありません
独自解釈で理解した気分になってしまうと、何年続けても高卒・専門卒級プログラマーの域を出ません
エラーのメッセージが何で、なぜ今回の件に関係があるのか、しっかり突き詰めていかないと・・・・
85デフォルトの名無しさん (ワッチョイ 6f02-8W3/)
2022/03/02(水) 18:12:53.89ID:O26kNIml0
小難しく考えずにこれでいいだろ
OBJList = OBJList.Where(x => x.Name == "P")
.Concat(OBJList.Where(x => x.Name != "P"))
.ToList();
86デフォルトの名無しさん (テテンテンテン MM86-g6h8)
2022/03/02(水) 22:35:58.10ID:nWwg4aeaM
なんだかもうネタスレ見たいな感じだな
87デフォルトの名無しさん (ワッチョイ cb01-v/So)
2022/03/03(木) 00:25:46.12ID:dxyVfE5f0
大喜利かな?
88デフォルトの名無しさん (ワッチョイ de63-v7rK)
2022/03/03(木) 08:59:19.53ID:o+Rr4hsu0
つまんねー大喜利だな
どこぞの黄色が並んでるみたい
89デフォルトの名無しさん (スップ Sdea-8W3/)
2022/03/03(木) 09:21:31.01ID:jSBR5AQpd
初心者用スレなんだからわかる人から見れば大喜利に見えるでしょ
つまらないこといいなさんな
90デフォルトの名無しさん (ワッチョイ ff2f-65e0)
2022/03/03(木) 17:21:59.36ID:AMDtBRAN0
>>78,82
もとの要件がちゃんと示されてないから、
安定ソートが必要かどうかは微妙だと思うぞ
P,I,Nの順にソートされるようにすればいいだけじゃないのか

まあ俺ならソート用に順位表すような何かを別途作るがな
91デフォルトの名無しさん (ブーイモ MM4f-Xv4c)
2022/03/03(木) 17:31:12.89ID:QcxixHpuM
わざわざunstableな方法を選ぶメリットあるの?
92デフォルトの名無しさん (ワッチョイ ff2f-65e0)
2022/03/03(木) 18:02:58.80ID:AMDtBRAN0
>>91
List<T>.Sort が不安定ソートだからな
OBJクラスにIComparable<OBJ>実装しとけば、OBJList.Sortだけで完了する
パフォーマンスとかまあいろいろあるけど、設計としてはそれが正しい気がする
93デフォルトの名無しさん (ブーイモ MM76-Xv4c)
2022/03/03(木) 18:17:27.98ID:QKnbgpbEM
>>92
今回のはOBJクラスに直接実装するIComparableとは別に比較関数用意したほうがいいでしょ
それに比較関数書くよりも簡単に書けてパフォーマンスもいいstableなやり方がすでにいくつか上がってる
94デフォルトの名無しさん (ワッチョイ 6f02-8W3/)
2022/03/03(木) 18:35:14.37ID:harl8Fl70
もうこの流れ見て質問者逃げてるだろ
95デフォルトの名無しさん (アウアウウー Sa2f-n9nK)
2022/03/03(木) 18:55:04.85ID:uKQKiz/ua
質問者なんてお題提供の存在でしかないからな
質問者放置はいつものことだろw
96デフォルトの名無しさん (アウグロ MMdf-BANU)
2022/03/03(木) 19:02:52.70ID:FQovZrSRM
たかがソートで満身創痍で質問者もびっくりしてると思う
97デフォルトの名無しさん (ワッチョイ ca01-+tM1)
2022/03/03(木) 19:12:44.11ID:bgg8zGG60
>>94
逃げてると言うかそれなりに答え出てるからもう見てないかもね
98デフォルトの名無しさん (ワッチョイ de63-PAoo)
2022/03/03(木) 19:44:36.41ID:o+Rr4hsu0
そういや質問者そっちのけでバトるのもお得意だったよな
99デフォルトの名無しさん (ワッチョイ af78-g6h8)
2022/03/03(木) 20:37:55.07ID:NDgh0LAU0
ID真っ赤にしてマウント取りに行くのは見物だよね
100デフォルトの名無しさん (ワッチョイ 6ede-r4h5)
2022/03/04(金) 09:38:06.30ID:TJSFQkSB0
>>98
このスレのいいところの一つ
101デフォルトの名無しさん (ワッチョイ b301-oL1e)
2022/03/04(金) 18:47:08.78ID:N5q/Azrd0
自称世界最速のソートアルゴリズムを作ってた奴もこのスレだっけ?
102デフォルトの名無しさん (ワッチョイ ef10-0yeF)
2022/03/05(土) 14:00:23.89ID:U93o6YuQ0
どちらかというとアリゴリズムというよりは自然なソート?というのでよく悩むよね
具体的には1,10,11,2,3,4,5,6,7,8,9となってしまうのを
1,2,3,4,5,6,7,8,9,10,11としたい(実際には数字だけではなくアルファベットなどが混入する)
103デフォルトの名無しさん (ワッチョイ 6bd2-pJVr)
2022/03/05(土) 16:19:30.03ID:E2o+9AFP0
文字列を数値扱いで比較するのが闇だからなぁ
正の整数しかないならできんこともないけど

マイナスを考慮するか?
"x=-3" < "x=-2"
"x=+3" > "x=+2"

小数扱いをするか?
"ver3.2" > "ver3.14"
"ver3.2.x" > "ver3.14.x" //これでいいのか?
"ver3.2.1" > "ver3.14.1" //これでいいのか?
"verx.2.1" < "verx.14.1" //これでいいのか?
"p3_2" < "p3_14" //小数扱いはしない

結構のところ数値考慮の比較は複数パターン用意してオプションで切り替えなきゃいけない
どこを数値扱いするかの仕様もどっかに書いとかないといけない

正の整数だけ考慮した比較と辞書順の比較の切り替えすら考え出すと辛いから
結局辞書順しかサポートしたくない
104デフォルトの名無しさん (ブーイモ MM7f-5+bU)
2022/03/05(土) 16:30:49.93ID:Tp7uE+H9M
>>102
それがまさにアルゴリズムじゃないかw
105デフォルトの名無しさん (ワッチョイ 4b2d-4NGs)
2022/03/05(土) 16:32:28.28ID:JM4So5Oz0
>>103
バージョンは正の数値以外含まれないものとしてSystem.Versionクラスを使えば
機械処理したいならこのクラスで扱える仕様にしておくのが無難だ
106デフォルトの名無しさん (ワッチョイ 9f01-S4HU)
2022/03/05(土) 16:53:10.76ID:GzcJYiRD0
お絵描きソフトを作りたいのですがそういうグラフィック系についての参考書みたいなのって知ってますか?
あと初心者はこれ読めって本あれば教えて下さい
107デフォルトの名無しさん (ワッチョイ 9f01-S4HU)
2022/03/05(土) 16:53:30.21ID:GzcJYiRD0
趣味でやろうとしてます
108デフォルトの名無しさん (オイコラミネオ MMcf-6iqn)
2022/03/05(土) 20:32:50.80ID:6VIYcmrkM
趣味って言ってもレベルが色々あるだろ
簡単なのは誰にでもほぼ作れる
画面でマウス押したらそこに色を置くだけ

ガチのやつは無理
109デフォルトの名無しさん (ワッチョイ 9f01-S4HU)
2022/03/05(土) 23:42:53.60ID:GzcJYiRD0
>>108
それ系の参考書みたいなのがあれば嬉しい
110デフォルトの名無しさん (テテンテンテン MM7f-wzO4)
2022/03/05(土) 23:47:24.10ID:vWLa1NTXM
WinFormsでよければ
https://dobon.net/vb/dotnet/graphics/
をひととおり試せばお絵かきソフトに必要な操作はだいたい分かるんじゃないかな
111デフォルトの名無しさん (ワッチョイ 9f01-S4HU)
2022/03/06(日) 06:30:48.18ID:+GCt4WVZ0
>>110
ありがとうございます
112デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/06(日) 07:16:01.38ID:YSSWJmRp0
>>111
横からレスだけど、ちなみに(知ってるかもしれないが)ライセンスに注意
特にコードをそっくりそのまま使うとか
ライセンスに無頓着なひとが多いので
113デフォルトの名無しさん (ワッチョイ 6b79-LrnU)
2022/03/06(日) 10:17:17.43ID:Gsk/wVZB0
>>112
初心者が気にすることではない(笑)
114デフォルトの名無しさん (ワッチョイ 9f01-5gj/)
2022/03/06(日) 10:28:10.00ID:FhlzQ0Dn0
>>112
dobon の話なら MIT License だろ
趣味の範疇で問題になることなんてあるのか?
115デフォルトの名無しさん (ワッチョイ 9f02-6Pw1)
2022/03/06(日) 10:42:12.60ID:20PzKiJp0
自分にできないことを他の人ができるようになってしまうのは悔しくて
答えに辿り着けそうなものを提供されると横やり入れて邪魔して
足を引っ張ろうとする地縛霊の糞みたいなのがここには居るんだよ
116デフォルトの名無しさん (ワッチョイ 4b2d-4NGs)
2022/03/06(日) 13:03:07.90ID:gZNSkpBT0
>>114
MITライセンスなら著作権表示が必要だな
趣味でも出来上がったものを公開する場合は注意
117デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/06(日) 13:37:26.55ID:YSSWJmRp0
>>115
別にそんな気はないんだが…
趣味程度で自分の範囲で使うなら勝手にすればいい
違法行為じゃないから
でもライセンスを守ろうとすらしないやつは自分勝手なのが多い
仕事じゃなくて学校の課題だから自分ではやらずに他人に押し付けるとか、「あくまで非推奨であって法的拘束力がないから」ということでやりたい放題するとか
単に知らなかっただけならともかく自己中な考えのやつが大杉だから書いただけ
118デフォルトの名無しさん (ワッチョイ 4fa7-2uaI)
2022/03/06(日) 13:39:17.39ID:YSSWJmRp0
>>117の追伸

もちろんライセンスとかは守ろうとするけど意識してなかったとかも有り得るけどね
119デフォルトの名無しさん (ワッチョイ 9f01-AHxu)
2022/03/06(日) 14:02:37.57ID:gemqlKpJ0
>>116
dobonのコードをそのままコピペするわけじゃないからな
コードそのものじゃなくアルゴリズム自体が著作権法の保護対象になるような創作的なものはdobonにはほぼないと言っていい
120デフォルトの名無しさん (アウアウウー Sa0f-GXTs)
2022/03/06(日) 14:21:53.65ID:ePzsPMXHa
Q「○○したいです。どうしたらいいの?」
A「ライセンスがー、ライセンスガー」
なんだこれw
121デフォルトの名無しさん (ワッチョイ 6b79-LrnU)
2022/03/06(日) 14:23:47.60ID:Gsk/wVZB0
>>117
恥の上塗り乙
122デフォルトの名無しさん (ワッチョイ 6be4-rWt2)
2022/03/06(日) 15:29:34.08ID:iwH3kjY/0
>>119
すみだけど
著作権が保護するの記述されたものなのでコード自体は保護できるけど、アイデアは
保護しないはずなのでアルゴリズムは著作権の保護対象じゃないんでまいか?
アルゴリズムを保護するなら特許権のはずなので、コードのマルコピはNGだけど、
やってることをマネするのは問題なかったはず

アイデアが著作権で保護されちゃうと、誰も異世界転生出来なくなっちゃうよねぇ?w
123デフォルトの名無しさん (ワッチョイ 9f01-AHxu)
2022/03/06(日) 16:22:36.60ID:gemqlKpJ0
>>122
広く「やり方/実装方法」という意味だったんだけどアルゴリズムって書いたのがよくなかったね
著作権法の保護対象はアルゴリズムを表現したコードになるんだけど
そのコードの丸コピじゃなくても表現として創作性が認められる部分をコピーしてれば問題になる

小説とプログラムだと保護される度合いが小説のほうが高いんだけど基本は同じ
異世界転生というアイデアの表現として創作性が認められる部分をコピーしてれば著作権侵害になりうるよ
124デフォルトの名無しさん (ワッチョイ cb01-O8CP)
2022/03/06(日) 16:43:39.86ID:jkekLrS80
まためんどくさい話が始まった・・・
125デフォルトの名無しさん (ワッチョイ 6b79-LrnU)
2022/03/06(日) 16:48:29.60ID:Gsk/wVZB0
普通にNG
126デフォルトの名無しさん (ワッチョイ 9f01-5gj/)
2022/03/06(日) 18:47:49.53ID:FhlzQ0Dn0
ライセンスガー君引っ込みつかなくなってて笑う
127デフォルトの名無しさん (ワッチョイ fb5f-Yi2e)
2022/03/06(日) 19:06:10.11ID:5Ls8hWzS0
やめたれw
128デフォルトの名無しさん (オイコラミネオ MMcf-6iqn)
2022/03/06(日) 19:15:30.08ID:aN6u98gQM
お前らのせいでスレがぎすぎすするからやめれ
129デフォルトの名無しさん (ワッチョイ 9f79-pLKf)
2022/03/06(日) 19:56:18.29ID:GpPJTCKS0
ライセンス対策なんて怒られてからでいいんだよ
じゃんじゃんパクって日本のIT産業を明るくしてくれ
130デフォルトの名無しさん (ワッチョイ 9b49-e6Ml)
2022/03/07(月) 10:33:21.04ID:/M6r3uSU0
ここライセンススレだったかw
131デフォルトの名無しさん (ワッチョイ 0f63-isLI)
2022/03/07(月) 14:15:42.70ID:4Ht3Uzhs0
面倒くさい話してないと息の根が止まっちゃう難病でも患ってんのやろな
132デフォルトの名無しさん (ササクッテロラ Sp4f-UyYf)
2022/03/07(月) 15:50:14.81ID:KExIaeukp
非常のライセンス、観てました
133デフォルトの名無しさん (ラクッペペ MM7f-KKSG)
2022/03/07(月) 19:20:55.93ID:CiLOZxiFM
子作りライセンス
見ました
134デフォルトの名無しさん (ワッチョイ ab01-S9lu)
2022/03/09(水) 01:28:54.95ID:nnxUiPIy0
木曜日のリカが一言(AA略)
135デフォルトの名無しさん (ワッチョイ cb01-O8CP)
2022/03/11(金) 00:50:56.41ID:wMMa1InP0
Xamarinサポート終了らしいですけどc#でのスマホアプリ開発のFWって今何なんですか?
136デフォルトの名無しさん (アウアウウー Sa0f-GXTs)
2022/03/11(金) 00:57:23.97ID:/TmTkpxda
xamarinはmauiに統合されただけだよ
純正と言っていいのか分からないけど純正のはmaui
137デフォルトの名無しさん (スップ Sdbf-9W19)
2022/03/11(金) 00:57:43.51ID:KBALhfIjd
ないよ
MAUIが移行先になる予定だけどポシャる可能性も十分考えられる
138デフォルトの名無しさん (ワッチョイ ab01-UyYf)
2022/03/11(金) 01:04:38.32ID:Sh2rSROO0
何もかも一つ残らず失敗するMS
139デフォルトの名無しさん (ワッチョイ fb02-Djfv)
2022/03/11(金) 08:10:20.54ID:e7+o7NKc0
UIフレームワーク乱立させて何がしたいのかよく判らんね
良さげな技術のやつもあるけど、WPF以降に出た奴はどれも乗り換え先には不安
140デフォルトの名無しさん (ワッチョイ ab01-Ff7g)
2022/03/11(金) 20:41:00.28ID:u82a29l50
学ぶにはコミュニティにお布施しないといけないからなぁ
しかも姫プを始める女が居ると技術系のガチ勢が愛想つかして出ていくから益々過疎化するという
141デフォルトの名無しさん (ワッチョイ 3bd2-85wQ)
2022/03/11(金) 20:44:05.02ID:bj9xq9MP0
Linux、iOS、Androidまで対応させる…
デスクトップとスマホのUIを統合させたときのバカさ加減に似てますな。
142デフォルトの名無しさん (アウアウウー Sa0f-GXTs)
2022/03/11(金) 20:52:37.52ID:H3//uyOGa
スマホとPCを同じUIにするってならバカだけど
xamlで言語切り替えるのと同じ感覚でマルチプラットフォームにできるというのは大きいよ
143デフォルトの名無しさん (ワッチョイ 9d6e-JxOY)
2022/03/12(土) 08:55:55.47ID:dl+G0hLg0
趣味の延長で小さな会社で一人で業務アプリちまちま作ってるんですが相談させて下さい

VS2019+FrameWorks4.8で帳票とかサードパーティ製入れながらWinFormsで、Linux+MySQLでそれなりの規模に膨れて使ってます

端末の選択肢がWindows機でタッチありで5万で抑えて増やしてましたが、コストの割りに性能低すぎ故障多くてipadとかchromebook、Androidとかの選択肢に切り替えようかと
デスクトップアプリから脱却となると、NET5とかNET6への鞍替えがいるかなと思うのですが、関連書籍もまだあまりでおらず
実際、VS2022いれてNET5かNET6どちらに進むべきですかね
ActiveReportsはNET5は対応していないし、他のサードパティは逆にNET5はOKでNET6はまだだったりですし、WindowsServerもたてれるようにならなきゃかなと思うと、本業片手間でやっているので学習コストも際限なくとはできないですし、稼働しているMySQLのデータは活かしたいところだしで・・何がいいのかわけわからなくなってきて
識者のご意見お伺いしたいです
144デフォルトの名無しさん (スップ Sda2-qhH7)
2022/03/12(土) 10:39:20.39ID:LonchplXd
>>143
SaaSに切り替えりゃいいよ
145デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/12(土) 10:48:32.30ID:B+2fu+fka
.net5はサポート期間が終わったか終わるかそのくらいの時期だよ
そういうのを真面目に考えるなら.net5はアウト(そういうの気しないなら5でもいい)

新規ではなく、winformからAndroidなどへ移行させるのは面倒だよ
どのくらいwindows依存コードがあるのかにもよるけど。
端末価格(性能に対する価格)はどんどん落ちてくから、俺だったらなんとか耐えつつwindows/FrameWorks4.8でやってくかな
146デフォルトの名無しさん (ワッチョイ 9d6e-JxOY)
2022/03/12(土) 11:03:57.18ID:dl+G0hLg0
>144
現状現場独自の機能が山ほどあるのでいまからSaaSというのは厳しいです
予算的にも・・・
>>145
となるとnet6をBlazorでちょっとずつ作り直していくてのが現実できですかね
(phpはかじってますが、JavaScriptはできない)
ブラウザベースに移行すればipadでもAndroidでもchromebookでもいけそうですし
ActiveReportsは大丈夫だし、それ以外のサードパーティ製は対応してくるのを待つとして
ネックは現在のサーバをWindowsServerに鞍替えするってことくらいでしょうか
CentOSは何年も触ってますが、Win鯖って扱えるようになるまでの労力って大きいですかね
セキュリティ含めてまでの学習となると相当苦労しそうですが・・・
147デフォルトの名無しさん (ブーイモ MMa2-qhH7)
2022/03/12(土) 11:23:02.57ID:T121kO+WM
>いまからSaaSというのは厳しいです
と思いたいんだろ?
費用なんかお前一人が無駄な努力でドブに捨ててる人件費よりよっぽど安いよ
148デフォルトの名無しさん (ドコグロ MM95-koMU)
2022/03/12(土) 11:30:22.00ID:JvvNjppkM
なんでWindows Serverが出てくるんだろう…
149デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/12(土) 11:32:00.98ID:MLpoR2LT0
帳票印刷のためじゃね
ActiveReportsの印刷機能はWindows依存だし
150デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/12(土) 11:33:53.48ID:MLpoR2LT0
ていうか、言語のちょっとした質問ならともかく
複合技術でなんかやるって話だともう初心者スレの範疇超えてると思うけどw
151デフォルトの名無しさん (ワッチョイ 7d5f-DF6R)
2022/03/12(土) 11:34:48.98ID:5CmXj57M0
FrameWorksって何?
152デフォルトの名無しさん (ワッチョイ 9d6e-JxOY)
2022/03/12(土) 11:45:36.72ID:dl+G0hLg0
>>147
ちょっと調べてみます
>>148
元々端末の追加コストが問題なので、ブラウザベースに移行するとなると
WebAssemblyは肝心のDBが不可とあるようなので
ASP.net Coreサーバー動かすために
WindowsServerが必要という理解なのですが間違ってますか?
>>149
そうです、独自の機能もありますが
大半の機能は画面開いてDBからデータひっぱってきて画面表示、
スタッフが操作して業務管理し、必要に応じて帳票印刷という流れが大半です
>>151
NET Framework、誤字です
すみません
153デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/12(土) 11:50:42.45ID:MLpoR2LT0
WebAssemblyはDBが不可というか、ブラウザ上で動く技術だから
WebAPIなり挟まないとDBのデータ取ってこれないのよ
DB入出力をWebAPI化するところからだな。パフォーマンスどうなるかは知らんけど。
154デフォルトの名無しさん (スププ Sda2-/u3Q)
2022/03/12(土) 12:50:42.71ID:MMCseHWCd
こういうのこそXamarinの本領では?
画面以外のロジックの共有。
155デフォルトの名無しさん (スップ Sda2-qhH7)
2022/03/12(土) 12:58:51.34ID:LonchplXd
>>154
153の言うとおり、こんなの結局WebAPI+薄いクライアントアプリという形にしかならないから画面以外のロジックは元々共有されてるんだよ
無意味
156デフォルトの名無しさん (ワッチョイ ed2f-lWiN)
2022/03/12(土) 13:28:09.56ID:pgjQzAZm0
Blazor って想定はBlazor ServerじゃなくてWebAssembly なのか

まあ最大の問題は、帳票をどこからどうやって出すかで
それ以外は別にどうとでもなる
157デフォルトの名無しさん (ワッチョイ e979-s6It)
2022/03/12(土) 14:11:31.59ID:5Dc3szfW0
やってもやらんでもどっちでもいいとこばっかりライブラリってできるんだよね
158デフォルトの名無しさん (ブーイモ MMe6-iDiS)
2022/03/12(土) 14:18:56.82ID:Taqa0P0FM
ASP.Net CoreはLinuxで普通に動くよ
帳票の中身次第だがシステム的にはWeb化するのが常道

でもWebアプリの維持管理やセキュリティ対策とか趣味レベルで対応できるのか疑問だから
別の方法考えたほうがいいのかもね
159デフォルトの名無しさん (スププ Sda2-/u3Q)
2022/03/12(土) 14:32:11.13ID:MMCseHWCd
>>155
とはいえWCFも無くなったし、WebAPIに簡単にはならんでしょ。
負荷もサーバ側にどーんと乗るのでバランスも悪い。
160デフォルトの名無しさん (ブーイモ MMe6-iDiS)
2022/03/12(土) 15:14:08.73ID:WKXTy9Q3M
移行にかかるコストや時間を考えれば短期的には端末スペックあげるほうが断然良さそうだね
161デフォルトの名無しさん (スププ Sda2-/u3Q)
2022/03/12(土) 15:26:49.92ID:MMCseHWCd
端末スペックで殴るのが一番楽はもちろんそうだけど、業務時間に少しだけ使うならAzureでデスクトップ借りてシンクラよろしくRDPすんのもアリかもね。
162デフォルトの名無しさん (ドコグロ MM95-koMU)
2022/03/12(土) 15:38:30.18ID:WugjRoTQM
>>143の時点ではクライアントアプリだったのをWebアプリにしようとしてるのかな?
正直小規模な会社なら>>145の言うようにWinForms + .NETFramework 4.8で良いような気がする
163デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/12(土) 16:46:13.52ID:MLpoR2LT0
まあ規模次第だね
Web化するとデプロイの手間は軽減されるけど、少数台くらいだとあまり旨みがない
それなら端末に多少金掛かった方がマシ
164デフォルトの名無しさん (ワッチョイ 9d6e-JxOY)
2022/03/12(土) 17:00:48.11ID:dl+G0hLg0
皆さんアドバイスありがとうございます

>>162
そうです、重い作業はデスクトップで、軽いのは小さいタブレットPC(ほとんどAtom)で
端末ごとに認証時に動作モードを変えて異なる画面サイズに対応させています
Atom機は遅いし故障も多いし、破損も多い・・・という状況で苦慮してます

移行の労力を考えるとやっぱりそのままいくのが一番妥当というところなんですね・・・
安くて性能の高いものが出てくるのも期待しつつ
軽い作業で使っている台数の多いAtomのものをせめてN4000番台に入れ替えながら耐えて
稼働している部分は触れずに、暇なときにLinuxにASP.NetCoreいれてWebアプリ開発にチャレンジして
徐々に軽い方だけ切り替えていく方向で考えてみます
165デフォルトの名無しさん (ワッチョイ 427c-9pEf)
2022/03/12(土) 17:04:39.68ID:zW5va19F0
webでC#は流石にどうかと思うんだけどねぇw
コードを流用したい?とかなのかも知れないが
まだUnityとかの方がマシな気がするし
実際Unityで業務アプリ作ってたりしている所もあるらしい

個人的にはwebにするならPHPとかで作り直した方が良いと思うけどね
C#でweb化、過去の資産があるから短期間でみたいな仕事が来たら速攻で断るw
166デフォルトの名無しさん (ワッチョイ ed2f-lWiN)
2022/03/12(土) 17:21:57.02ID:pgjQzAZm0
単純にC#でweb化っていってもな
MVCもあるし、Blazor ServerもWebAssemblyもある
そろそろ本気でBlazor評価しとかんといかんなぁ

過去の資産があるから短期間でみたいな仕事は
言語がどうだろうが環境がどうだろうがヤバイ匂いしかしないがな

つかAtomのタブレットってそんなに壊れるのか?
安物買いの銭失いとはよく言った気がするが
167デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/12(土) 17:30:08.01ID:MLpoR2LT0
壊れる理由によるな
現場の扱い悪いなら、何使ってもすぐ壊れそうな気もするが
168デフォルトの名無しさん (ワッチョイ 02da-9pEf)
2022/03/12(土) 17:39:01.24ID:x75wVy6A0

WebバックエンドでC#なんて最高に相性いいじゃない。
EFのおかげでDB周りも楽だし。

フロントUIはAngularなりReactなり任せちゃえばいいし。
PHPとかnodeとか言ってるのはあれか、アクセス数少なくてパフォーマンス気にしなくてもいい人たちか。
169デフォルトの名無しさん (ワッチョイ 69d2-nn6q)
2022/03/12(土) 17:43:50.76ID:olrB42jq0
ショボいスペックのPCにそこそこの要求スペックのWindows入れること自体ねぇ

アプデもあるし2年もすれば時代遅れになるだろうことは想像できるけど

ハードウェアが壊れるかどうかは知らん
170デフォルトの名無しさん (オッペケ Sr91-fCgU)
2022/03/12(土) 17:49:23.16ID:xsaO6v3ar
WebでC#ってローカルでDockerで構築してAWSとかにLinuxイメージごとデプロイするの?
171デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/12(土) 18:17:01.12ID:JKJATSZJa
phpなんかでやるのと同じ。(phpはビルドないけど)ビルド結果だけをデプロイだよ
172デフォルトの名無しさん (オッペケ Sr91-fCgU)
2022/03/12(土) 18:47:52.84ID:xsaO6v3ar
なるほど
ちなみにWebアプリの場合でも今はASP.net?もしくは.Net6?
いまいちどのフレームワーク使うのかわからん
173デフォルトの名無しさん (ワッチョイ a101-NIXk)
2022/03/12(土) 18:50:58.36ID:kGvMtDUe0
なんか色々ごっちゃになってると思う
まぁMSのフレームワークの概念は自分も一時期混乱した
.net standardとか何だったの
174デフォルトの名無しさん (ワッチョイ 4de6-yOjB)
2022/03/12(土) 18:51:04.71ID:xRtLdflG0
大食らいなブラウザと大層なフレームワークが満足に動くならロートルのWinFormsやWPFなんかスカスカ動かんか?
175デフォルトの名無しさん (ワッチョイ 464a-8qwV)
2022/03/12(土) 19:38:13.21ID:jj9bNUpZ0
ついさっき
(x, y) = (y, x)
こういう書き方ができるのに気付いたんだけど、これいつから出来るようになったん?
176デフォルトの名無しさん (ワッチョイ e979-s6It)
2022/03/12(土) 19:42:10.83ID:5Dc3szfW0
>>175
タプルっぽくね?
177デフォルトの名無しさん (ワッチョイ 69d2-nn6q)
2022/03/12(土) 19:43:29.39ID:olrB42jq0
タプルが導入された当初からじゃないの?
178175 (ワッチョイ 464a-8qwV)
2022/03/12(土) 19:59:58.59ID:jj9bNUpZ0
Pythonでは
x, y = y, x
ってできるの知ってたけど、C#ではできないと思ってた
179デフォルトの名無しさん (ワッチョイ 8279-Peks)
2022/03/13(日) 00:00:51.74ID:u39Ee70g0
powershellから呼び出せるC#じゃできないけど?
csc.exeのバージョンも4.8とかそんなんだし
180デフォルトの名無しさん (ワッチョイ 82ad-8qwV)
2022/03/13(日) 01:36:37.26ID:Z9Glx4pW0
自分のメールアドレスに打った文章を送るコードなのですがうまく動作しません
具体的に言うとgmail宛に何も届かないです
何処を改善すればいいのでしょうか?

https://ideone.com/1GsDjn
181デフォルトの名無しさん (ワッチョイ 822c-lWiN)
2022/03/13(日) 01:59:10.72ID:cmsw373x0
catchで何もしないのはやめよう
せめてログに出すとかさ

> SmtpClient server = new SmtpClient("自分のメール@gmail.com");
> mail.From = new MailAddress("email");
> mail.To.Add("dest");
パラメータ滅茶苦茶
SmtpClientに渡すのは通信先のSMTPサーバの情報
Toが送信先メールアドレス
SMTPサーバはGmailのが使えるようだから調べてみて

あとSystem.Net.Mailはもう非推奨 代替としてMailKitとか挙げられてる
182デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/13(日) 02:01:10.18ID:jngzL68oa
gmailのアカウント側でsmtp有効にしてるかとか確認したら?
あとgmailのsmtpはあと3か月ぐらいで全面的に使えなくなるから仮に作れてもすぐ使えなくなるよ
183デフォルトの名無しさん (ワッチョイ 69d2-nn6q)
2022/03/13(日) 03:18:43.91ID:5qwn5s+60
やべーelse ifが見えた時点で読むのやめたんだが

まず問題の切り分けからだね
このコードはgoogle.comのメールサーバー(mail.google.co.jpだと思うんだけどなぁ)に対してメールを直接投げるやつ?

それともgoogle.comの自分のアカウントにログインしてからまた別のメールアドレスにメールを投げるやつ?

あとkeyとか色々作る前に定型分のテストメールにしなよ

To: [email protected]
From: [email protected]
Subject: TestMail

This is test mail No. 1.
.
184デフォルトの名無しさん (ワッチョイ 8d68-wr7m)
2022/03/13(日) 05:56:09.15ID:m8v9NYfn0
>>175
三つ目の変数無しで値の入れ替えが出来るって理解で良いの?
185デフォルトの名無しさん (ワッチョイ 8666-rAFW)
2022/03/13(日) 08:02:23.19ID:roEKlQ2p0
タプルはずっとまえからじゃん。
もう5年たつんじなないのそれ。
186デフォルトの名無しさん (ワッチョイ 8666-rAFW)
2022/03/13(日) 08:03:34.17ID:roEKlQ2p0
もしかしてC#が複数の値をリターン出来るとかも知らんのかな?
187デフォルトの名無しさん (ワッチョイ 8dd2-FsHI)
2022/03/13(日) 09:01:18.15ID:1ZaIS7m70
( ´ー`)   < シラネーヨ
188デフォルトの名無しさん (ワッチョイ 2e68-pPbi)
2022/03/13(日) 10:10:05.19ID:IGUcP/is0
宣言と定義の違いってどうなってますか?
C++ではint x;は定義なんですよね?
C#ではint x;は宣言のような気がします...
189デフォルトの名無しさん (ワッチョイ 7ea7-cs1e)
2022/03/13(日) 10:29:47.04ID:vXOJHn5g0
>>188
どちらも宣言

https://docs.microsoft.com/ja-jp/cpp/cpp/declarations-and-definitions-cpp?view=msvc-170 では「宣言」となっている
「定義」は場合にもよるとは思うけど、(自作の)関数やクラスの定義の意味で使う

変数については宣言って言うね
190デフォルトの名無しさん (ワッチョイ 2e68-pPbi)
2022/03/13(日) 10:37:14.46ID:IGUcP/is0
>>189
ありがとうございます
ちなusingやnamespceは定義ですか?
191デフォルトの名無しさん (ワッチョイ 7ea7-cs1e)
2022/03/13(日) 10:46:29.13ID:vXOJHn5g0
>>190
自分の場合はnamespaceで包むときは定義、使うときは単に「使う」系かな

定義(definition)は文字通り、「(存在してなかったものを)こういうものだと決めること」だと思ってる

さっき挙げたページでいうN::Cやfのような処理や型自体が存在してなくて、それを「こういうやつだ」と決めてコンパイラに教えているね

変数とかの宣言(declaration)は「この変数はこの型として使うよ」っていうイメージかな

だからC#だと using System;は https://docs.microsoft.com/ja-jp/cpp/cpp/using-declaration?view=msvc-170 だと「using 宣言」てなってるから宣言かな
192デフォルトの名無しさん (ワッチョイ 7ea7-cs1e)
2022/03/13(日) 10:47:50.99ID:vXOJHn5g0
191だけど、ミスった

参考ページを提示しているusingのところはC++のやつに読み替えてね
193デフォルトの名無しさん (ワッチョイ 2e68-pPbi)
2022/03/13(日) 10:49:58.20ID:IGUcP/is0
>>191
ありがとうございます
参考にします
194デフォルトの名無しさん (ワッチョイ 82ad-8qwV)
2022/03/13(日) 23:57:03.38ID:Z9Glx4pW0
>>181 >>183
ありがとうございます
アドバイス通り引数を直したんですがメール送られてこず…でした
仰るとおり自分のメールアドレスにログインして別のメールアドレスにメールを送るプログラムなんですが
何処を直したら正常に機能しそうですかね
195デフォルトの名無しさん (ワッチョイ 82ad-8qwV)
2022/03/14(月) 00:07:12.67ID:jx7Gq6xC0
180のメールメソッドの内容を
https://ideone.com/9IoPl4
に変えたのですが変化無しでした。1から考え直すしかないでしょうか
196デフォルトの名無しさん (ワッチョイ 69d2-nn6q)
2022/03/14(月) 00:35:23.85ID:uIprxjAI0
https://docs.microsoft.com/ja-jp/dotnet/api/system.net.mail.smtpclient.send?view=net-6.0#system-net-mail-smtpclient-send(system-net-mail-mailmessage)

失敗したらなんかのExceptionが投げられるみたいだから
catch(Exception ex){ Console.Error.WriteIine(ex);}
してみろ以上のことが言えん
197デフォルトの名無しさん (ワッチョイ 85da-9pEf)
2022/03/14(月) 00:44:53.46ID:k1s/giD10
IE7ベースのWebbrorser が古いので新たに使うとしたら
Webviw2 と CefSharp どっちがいいですか?
198デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/14(月) 00:57:27.18ID:XtxfFNUva
好きにしろよ
俺はwebview2一択だと思ってる
199デフォルトの名無しさん (ワッチョイ 8666-rAFW)
2022/03/14(月) 01:33:25.53ID:j1ckIHBu0
CefSharpは起動重いな。
WebVieW2は速いがあまり浸透してないコンポーネントのインストールが必要だわな。
200デフォルトの名無しさん (テテンテンテン MMe6-gWun)
2022/03/14(月) 10:17:48.69ID:/kSWYd/QM
Chromium関連のファイルサイズがでかいからそのへん気になるならWebView2
MSを信用しないならCefSharp
201デフォルトの名無しさん (ワッチョイ 9d54-42Eo)
2022/03/14(月) 14:06:43.59ID:fKAVqTeN0
WebView2 以前ちょっと使ったけど、ページ表示前の初期化が毎回遅かったような記憶がある。
記憶違いかもしれないけど。
202デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/14(月) 14:24:28.43ID:XtxfFNUva
コンストラクタでurl代入できりゃいいのに、その頃はまだ内部での初期化が終わってないからできないな
203デフォルトの名無しさん (オッペケ Sr91-fCgU)
2022/03/14(月) 14:55:17.24ID:akZZG4oSr
Webは戻る進むがあるからしっかりステート管理しないとしぬ
204デフォルトの名無しさん (ワッチョイ 12bd-eKgF)
2022/03/14(月) 21:53:50.24ID:3nbBdTge0
簡単な図形データをdxfファイルにしてみたいんですけど、どこか参考になるサイトないですか?

幅500o✖長さ1000oの長方形枠内に円とか長方形とかそんな感じのもので、レイヤーとか線種とかとくなく実線のみで表現したいんですけど。
205デフォルトの名無しさん (ワッチョイ 3d78-9pEf)
2022/03/14(月) 22:00:22.47ID:Wh2n8FEC0
https://www.codeproject.com/Articles/156522/DXF-Import-NET-Read-and-View-AutoCAD-Format-Files
206デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/14(月) 23:03:31.17ID:rbCSOV+9a
dxfを読みたいっていうとバイナリだ3dだ色だなんだって色々なパターンあるから大変だけど
dxfを書き出したいってだけなら難しいこと考えずに適当に「dxf ファイル仕様」とかぐぐって調べたらいいよ
207デフォルトの名無しさん (スプッッ Sda2-eKgF)
2022/03/15(火) 06:37:09.86ID:Hxz/HcaZd
ありがとうございます!
208デフォルトの名無しさん (ワッチョイ f1ac-aQ/O)
2022/03/15(火) 07:49:26.57ID:FHh5bEnc0
いえいえ
209デフォルトの名無しさん (スップ Sda2-/hws)
2022/03/16(水) 17:05:06.84ID:KL1RQagld
formsでスケーリング変えると部品の位置がズレたりするんだけど、
是正する定番の方法あったら教えてたもれ
210デフォルトの名無しさん (ワッチョイ 7ea7-cs1e)
2022/03/16(水) 17:51:38.31ID:sDB+P2C+0
>>209
フォームのサイズが変更されたとき?

サイズ変更についてなら「サイズが変更された」ときのイベント内で再計算するか、Panel系クラスを利用して表示するかだと思う

フォームの大きさを小さくしたら下に回り込むようなやつならFlowLayoutPanelで、HTMLでいうテーブルならTableLayoutPanelとか

Panel系にDockをFillにしたりすれば再計算はプログラムがやってくれる
211デフォルトの名無しさん (ワッチョイ b901-SA89)
2022/03/16(水) 18:39:08.14ID:3Hj+1jHn0
スケーリング変えた時、だろ
212デフォルトの名無しさん (ワッチョイ 8279-Peks)
2022/03/16(水) 18:55:49.03ID:IT+0ZBM10
>>209 ですが、
色気を出して最初にSetProcessDPIAware()を呼んでたので、これ呼ぶのをやめたらズレは直りました。
これはフォントがボヤンとするいわゆるDPI仮想化状態ですね。
ただこれだと座標取得関係に難ありだったと記憶してるので、
SetProcessDPIAware()を呼び出しつつ、
form1.AutoScaleMode = AutoScaleMode.Dpi;
にするとコントロールのズレは収まりました。フォントの大きさの再調整は必要ですがこれが良さそうです。
一旦問題を整理してみます。
213デフォルトの名無しさん (ワッチョイ 012d-8qwV)
2022/03/16(水) 19:24:24.87ID:gx2+2oye0
>>212
スケーリングに対応する場合は、フォントはBMPを含まないメイリオやYu Gothic UI等を使うと良いよ
214デフォルトの名無しさん (ワッチョイ e979-s6It)
2022/03/16(水) 19:46:22.48ID:qedjxSBq0
グリッドレイアウト

でググると参考になるかもしれん

もちろんGuiがおおっぴらにサポートしているわけではないが
どうしたいかの参考になると思う
215デフォルトの名無しさん (ワッチョイ 8279-Peks)
2022/03/16(水) 21:22:24.16ID:IT+0ZBM10
コントロールのフォントを自動調節するやつできたんでとりあえず解決しました。
void AutoFitFontControl(Control ctl, string fontname, int maxpoint) {
var g = System.Drawing.Graphics.FromHwnd(ctl.Handle);
var point = maxpoint;
for (;;) {
SizeF sf = g.MeasureString(ctl.Text, new Font(fontname, point));
if (ctl.Width < (int)(sf.Width) || ctl.Height < (int)(sf.Height)) {
point -= 2;
} else {
break;
}
}
ctl.Font = new Font(fontname, point);
}
216デフォルトの名無しさん (ワッチョイ 6936-dw4a)
2022/03/17(木) 09:57:20.56ID:8n4FcalY0
C#勉強中で分からない点があるので質問です
テキストボックスをデータバインドしていてViewModel側はstringでSetPropertyで双方向としていて
テキストボックスでキー入力されてもコード上でstringの値を代入等で変えても画面に表示されている値と内部で保持している値が一致するようにしています

これをstringから独自のクラス、例えば電話番号クラスとかにするとテキストボックスにキー入力しても内部で保持している値に書き換わってしまうのですがこれって何に原因があるのでしょうか?

View側の処理
TelephoneTextBox.DataBindings.Add("Text", viewModel, nameof(ViewModel.Telephone));

ViewModel側の処理
public TelephoneValue Telephone
{
get => _telephone;
set => SetProperty(ref _telephone, value);
}

TelephoneValueは内部にstringを持っていてToString()でstringを返しています
217デフォルトの名無しさん (スプッッ Sd01-nn6q)
2022/03/17(木) 12:22:14.37ID:Mvnns9V0d
>>216
あなたがどっかで定義したTelephoneValue型はxamlが理解できるものじゃない

TelephoneValueを1引数のstringで構築できるかもしれんがそんなことは知ったこっちゃない
(Converterを自作すればなんとかなるかもしれんが)
218デフォルトの名無しさん (スプッッ Sd02-nn6q)
2022/03/17(木) 12:37:39.27ID:0cmWCmO7d
おそらくXaml側でBindingエラーが出てる
アプリが落ちるわけじゃないから気付きにくいが

Visual Studio環境なら出力ウインドウとバインディングエラーのウインドウにエラーメッセージが出てるはず
219デフォルトの名無しさん (テテンテンテン MMe6-rsxS)
2022/03/17(木) 13:52:54.08ID:i4B2mw3zM
すいません使ってるのはWFPでは無いです
formで書いてます

ただ>>217が言ってるようにそうなる理由はset時に型を理解できない為と思います、テキストボックスからの文字列は文字列であり独自の型に入れられないから上記のような挙動に見える
エラーは出てなかった様に思いますが帰ったら確かめます

これって独自の型を定義してその型でバインドした物と双方向する事はそもそも出来ないんでしょうか?
intにしろDateTimeとか文字列への型変換が出来るので出来そうに思えるのですが
220デフォルトの名無しさん (ラクッペペ MMe6-AsxV)
2022/03/17(木) 14:00:10.89ID:AolyjzvfM
文字列から変換できなきゃ意味ない
telephone = "でんわ"
221デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/17(木) 14:39:30.41ID:rF5KH7cwa
こんなにすれば内部で保持してるのとuiとで双方向できるし
内部→ui、ui→内部、どっちかだけ片方bindもできる

class telephone
{
int a,b=0;
public string tel
{
set{ var d = value.split('-');a=int.parse(d[0]);b=int.parse(d[1]);
get{ return $"{a}-{b}";
}
222デフォルトの名無しさん (スップ Sd02-aWWA)
2022/03/17(木) 14:46:48.12ID:LzLa9LO7d
System.ComponentModel.TypeConverter?
223デフォルトの名無しさん (ワッチョイ 822c-lWiN)
2022/03/17(木) 16:15:30.46ID:euNpZQ+M0
そのTelephoneValueクラスがstring型のTextValueプロパティを持ってるとして、
.DataBindings.Add("Text", vm, "Telephone.TextValue")
とすればいける
224デフォルトの名無しさん (ワッチョイ 6936-dw4a)
2022/03/17(木) 20:21:34.94ID:8n4FcalY0
>>220-223
色々ヒントありがとうございます。後程色々試してみて報告できそうな結果ならしたいと思います
また分からなかったら聞くかもです
最初、代入演算子かstringformat以降をごにょごにょする?か最悪テキストボックス側をいじる、いやUIはさすがにいじりたくない
とかですが"Telephone.TextValue"な書き方もできるんですね目から鱗です
TypeConverterは調べてみます

最終的にやりたいのはテキストボックスのマスクの動的判定
例えば06と打てば06-、続けて6を打てば06-6、4なら064-みたく表示(実装済み)
かつデータベースに書き込むのはハイフンなしにして書き込み、読み込む時はハイフン付けてテキストボックスに表示(生のstringでは検証済み)
これを整合性合わせてしたいが生のstringを使いたくなかったのが理由
まぁテキストボックスいじる方がよっぽど気持ちが悪いのですが

取り合えず上記アドバイス試してみますありがとうございます
225デフォルトの名無しさん (ワッチョイ 4de6-AsxV)
2022/03/17(木) 23:08:34.91ID:RdQIwXxN0
市外局番ルールってどっかに計算式あるの?
まあ同じ市外局番でも省略すると繋がらないとかふざけた地域も多いしトンキンオオサカだけでもいいか
226デフォルトの名無しさん (ワッチョイ 6936-rsxS)
2022/03/17(木) 23:26:45.22ID:8n4FcalY0
私は総務省にこんなんある事知って上記の話はそれらしく実装した
https://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/number_shitei.html
厳密にやろうとするとクソ面倒なのであくまでそれっぽくしただけだけど一応区切り位置とかのルールは存在する
227デフォルトの名無しさん (ワッチョイ c666-lWiN)
2022/03/18(金) 10:15:35.13ID:exJrGo4o0
Socket.IO (SocketIoClientDotNet) を利用し、下記コードでメッセージの購読は出来たのですが

this.socket = IO.Socket("http://localhost";);
this.socket.On("new-message", (jo) =>
{
this.RecvNewMessage(jo as JObject);
});

購読を終了する方法が解りませんでした。
どのようにすれば終了できるでしょうか?よろしくお願いします。
228デフォルトの名無しさん (ワッチョイ 822c-lWiN)
2022/03/18(金) 10:42:52.74ID:GLaoxLmQ0
OnしたんならOffすればいいんじゃね 知らんけど
229デフォルトの名無しさん (ワッチョイ ed2f-K4Xb)
2022/03/18(金) 15:59:31.12ID:Fy/f5KFA0
コメントアウトはVSCodeのようにCtrl+/でやりたいんだけど
設定で変更できるよね?
なぜ最初からそうなっていないの?
Ctrl+k,cは面倒極まりない。
230デフォルトの名無しさん (ワッチョイ 8dd2-FsHI)
2022/03/18(金) 16:13:03.84ID:NghzuPCe0
頬杖つきながらマウスで選択してツールバーでポチっとするだけだから。
20年遅れてるUNIX開発環境に合わせろと言われも困ります。
231デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/18(金) 16:17:37.38ID:/Q6fnTiGa
ツールバーのボタン標準で表示されてるんだな。初めて知った
だがむしろデフォルトをkc、kuで統一しろよ
232デフォルトの名無しさん (ワッチョイ 8224-glZq)
2022/03/18(金) 16:23:47.13ID:cx5y3qmg0
ロジのマウスすぐチャタるから俺もPC操作はできる限りキーボードで行いたい派
233デフォルトの名無しさん (スッップ Sda2-nn6q)
2022/03/18(金) 16:32:30.07ID:r5cg+x+od
プログラム開発でクソAIMやると切れそうになるからマウス使いたくない
234デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/18(金) 16:46:59.98ID:Ukh28wt40
ショートカット変えれるんだから変えろよ
235デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/18(金) 16:48:40.02ID:/Q6fnTiGa
>>232
捨てろよ。もしくは頻繁に接点復活スプレー
236デフォルトの名無しさん (ワッチョイ 8dd2-FsHI)
2022/03/18(金) 16:50:42.39ID:NghzuPCe0
UNIXなんてのは太古の昔から市場の片隅で生きてきた絶滅危惧種だったのに
使ってるアホどもは世界の中心だと思ってるから厄介。
237デフォルトの名無しさん (ワッチョイ 8dd2-FsHI)
2022/03/18(金) 16:51:47.06ID:NghzuPCe0
マウスイベント監視してチャタリング無効化するだけ。
238デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/18(金) 16:59:58.79ID:/Q6fnTiGa
チャタリング判断が時間要素と多少の移動値しかないから、ソフト的な対策はできない(操作性悪いのは変わらない)んだよ
俺の対策の腕が悪いからかもしれないけどな・・・
239デフォルトの名無しさん (ワッチョイ 8dd2-FsHI)
2022/03/18(金) 17:05:47.26ID:NghzuPCe0
スキルないならダイソーでマウス買ってきな。
240デフォルトの名無しさん (ワッチョイ a101-NIXk)
2022/03/18(金) 21:36:09.99ID:qCqrql870
タイポしやすいのでむしろなるべくキーボード使わないようにしてる派
インテリセンスとコピペを駆使しまくってる
241デフォルトの名無しさん (ワッチョイ 8279-Peks)
2022/03/18(金) 23:35:46.48ID:J38pP+oz0
↑チャタリングの意味判ってない人
242デフォルトの名無しさん (ワッチョイ 8279-Peks)
2022/03/18(金) 23:37:54.94ID:J38pP+oz0
発見伝!て続けようとしたら書き込んじゃった
ただの感じ悪い人だなしまんてっく
243デフォルトの名無しさん (ワッチョイ 1302-E6ai)
2022/03/19(土) 00:23:07.37ID:QWNhEVj80
何言ってんだこのバカ
244デフォルトの名無しさん (ワッチョイ d901-IBq+)
2022/03/19(土) 01:33:54.85ID:M/uS9iCI0
最初から最後まで意味が分からなくて草
245デフォルトの名無しさん (ワッチョイ f154-B0ie)
2022/03/19(土) 02:23:05.14ID:VxWFG4OV0
バーコードよりハゲのほうがマシ。
まで読んだ。
246デフォルトの名無しさん (ワッチョイ 4901-cTkz)
2022/03/19(土) 02:31:34.95ID:oVqI+gO+0
時代はQRコードやで
247デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/19(土) 12:51:17.68ID:UXt2lmR80
まだらハゲ
マーブルハゲ
248デフォルトの名無しさん (ワッチョイ 1379-Tr1D)
2022/03/19(土) 14:08:52.76ID:advrh/I10
USBメモリを安全に取り外すのはC#で書けたんですが、
その後USBメモリを抜き差しせずに再認識させる方法はあるでしょうか
249デフォルトの名無しさん (オッペケ Sr85-MdQT)
2022/03/19(土) 14:12:14.78ID:XXD5kKqhr
なんでそんなことまでやってるの
250デフォルトの名無しさん (ワッチョイ 1379-Tr1D)
2022/03/19(土) 14:29:31.78ID:advrh/I10
>>249
リモート先のマシンでメディアを抜き差しする処理とかをよく発生するので…
現地作業者に連絡する手間を省きたいってのが大きいです
251デフォルトの名無しさん (ワッチョイ 1361-Jp3i)
2022/03/19(土) 15:09:08.63ID:DtRySdf10
取り外しやったら物理的に外さないとだめじゃなかったっけ?
ドライバの無効→有効じゃだめなん?
252デフォルトの名無しさん (ワッチョイ 4901-cTkz)
2022/03/19(土) 15:29:43.49ID:oVqI+gO+0
vectorにあるunhotplugとeasterっていうのを呼ぶツール作ればいけるのでは
253デフォルトの名無しさん (ワッチョイ f9ac-MdQT)
2022/03/19(土) 20:19:19.80ID:VZmL8CeM0
おせっかいというか余計なアレやけど、
USBを擬似的に抜き差しさせるプログラム作って新たな障害の素を作るより、
USBを使わない、ネットワークストレージに置き換えるとかの方法で、
根本的な状況を改善するほうがいいんじゃないかな。。
254デフォルトの名無しさん (ワッチョイ 0bda-noGs)
2022/03/19(土) 20:33:21.04ID:D/0X5tNm0
USBに何か挿されたよシグナルをOSに送ればいいんじゃね
255デフォルトの名無しさん (テテンテンテン MMeb-noGs)
2022/03/20(日) 00:37:40.27ID:J9wgpmKzM
自分ところの放置鯖は休止復帰後にUSBの再認識をバッチでやってた
時々USB死んでマウスが動かなくなるから
やり方は忘れた
256デフォルトの名無しさん (アウアウウー Sa5d-580B)
2022/03/20(日) 01:21:44.08ID:RMYANpbIa
usbメモリ直はムリだと思うからdevconいじくりまわしてワンチャンかな
257デフォルトの名無しさん (ワッチョイ 8bb0-Ldsw)
2022/03/20(日) 22:42:36.53ID:0372vEy10
wmiからPnPEntity使った方がまだやりやすそう
258デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/21(月) 06:21:02.19ID:B3XvFTTu0
そもそも何故USBを抜き差しした事にしたいのかわからん
259デフォルトの名無しさん (ワッチョイ b102-bSSa)
2022/03/21(月) 08:11:52.79ID:idY8N9Dd0
スマートコンセントにアダプター式のUSBハブ繋いで電源ON/OFFすればいいんじゃねw
260デフォルトの名無しさん (ワッチョイ 1379-Tr1D)
2022/03/22(火) 00:17:50.57ID:gjcW4Tfu0
まあハードで細工前提なら間にマイコンなりでVCCをスイッチすればできますけどね
ソフトでできないかという話なので
devconでdisable→enableは期待した動作にはならなかったので他の方法を考えて見ます
261デフォルトの名無しさん (ワッチョイ b102-bSSa)
2022/03/22(火) 00:39:31.18ID:k34A21mc0
目的を達成出来れば何でもいいって話だと思ったんで、違うならスルーしてくれ
262デフォルトの名無しさん (ワッチョイ f154-B0ie)
2022/03/22(火) 03:13:27.47ID:dk64x/8s0
Disposeパターンの学習中なのですが、マネージリソースとアンマネージリソースの見分け方が分からないのですが、
よい解説サイトを教えて頂けないでしょうか。
263デフォルトの名無しさん (アウアウウー Sa5d-580B)
2022/03/22(火) 03:27:22.28ID:Fi74risNa
難しく考えることない。この程度の見分け方で十分だろ

class A : IDispose ←宣言を見たときにIDispose派生ならアンマネージド

A a = 〜
a. ←「.」を打ち込んだ時にDisposeが表示されたらアンマネージド

using (var a = new 〜) ←usingで囲んでエラー出たらマネージド
264デフォルトの名無しさん (アウグロ MM63-zSlE)
2022/03/22(火) 07:12:28.40ID:p81GCeRAM
Disposeの中身が

MessageBox("error",MB_ICONERROR);

のみでアンマネージド?
265デフォルトの名無しさん (アウアウウー Sa5d-580B)
2022/03/22(火) 08:11:26.68ID:Fi74risNa
Disposeの中身が空でもアンマネージなんだよ。細かいこと気にするな
266デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 08:33:08.50ID:kAgwAO/L0
いちいち継承元全部辿ってIDisposableあるか確認して手動で開放しないとリークしまーすとかいう欠陥言語
267デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 08:35:18.57ID:OaCGWLhd0
win32リソースかどうかなんか用途ですぐわかるだろ…
268デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 08:39:28.18ID:kAgwAO/L0
書いてから気づいた>>263の方法で確認すりゃまだ楽か
だがしかし、実装を強制できないからdisposeしてなくても気づけないってのがな
269デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 08:41:02.24ID:kAgwAO/L0
>>267
そんなの場合による
270デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 08:51:45.38ID:OaCGWLhd0
キミのように脳に欠陥があるなら仕方がない。使い終わったら常にdispose()呼ぶだけの話。
271デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 09:03:08.94ID:kAgwAO/L0
>>270
272デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 09:22:16.11ID:OaCGWLhd0
( ´_ゝ`)プッ
273デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 10:11:19.03ID:kAgwAO/L0
使い終わったら常にdispose()呼ぶだけ!キリッ
話の本質わかってなくて草生える
274デフォルトの名無しさん (ワッチョイ 132c-P46e)
2022/03/22(火) 10:34:09.76ID:G7lfoYcY0
Disposeでマネージ/アンマネージってことは
protected virtual Dispose(bool disposing)
のdisposingの真偽で何を解放すべきかってことだよね

.NETのオブジェクトとして存在しているモノがマネージリソース
大体は自分がメンバに持ってるIDisposableなオブジェクトを意味する
これらはdisposing==trueのときだけDisposeすればいい

アンマネージリソースはWindowsのAPIとかで直接確保したデバイスコンテキストとかメモリ
大抵はIntPtr型で保持している
こういうのはそれぞれのリソースの解放方法に従った方法で直接解放する
これらはdisposingに関わらず常に解放する
275デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 10:35:59.07ID:OaCGWLhd0
> いちいち継承元全部辿ってIDisposableあるか確認して手動で開放しないとリークしまーすとかいう欠陥言語
分かってるよ。話の本質は、馬鹿がヘジが開発した言語にマウンティングした、ということだろう。
だがその試みは失敗した。それだけ。

なんならwin32リソースについて言語はどう管理すべきいくらでもキミの意見を語っていいんだぜ?
だがキミからは何も出てこない。知ったか初心者だからだ。
276デフォルトの名無しさん (ブーイモ MMeb-n2Eo)
2022/03/22(火) 11:53:43.00ID:myN/pITuM
そうカッカすんなよおっさん見苦しいぞ
277デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 12:15:11.68ID:kAgwAO/L0
>>275
顔真っ赤で草
278デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 12:31:50.91ID:OaCGWLhd0
初歩的なリソース管理程度で発狂して言語貶してるド初心者に
馬鹿にされてキレるわけないだろう。馬鹿かこいつ、としか思わん。
279デフォルトの名無しさん (ワッチョイ 8b63-whB1)
2022/03/22(火) 15:52:49.70ID:XhX0v2Lu0
その調子で血管切って死なねーかな
280デフォルトの名無しさん (テテンテンテン MMeb-zKmY)
2022/03/22(火) 17:16:17.21ID:pk95uqSaM
あああああああああああああああああああああああああああああああ!!!!!!!!!!!(ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)
281デフォルトの名無しさん (ワッチョイ 2979-zSlE)
2022/03/22(火) 19:17:57.13ID:kPYOUkgu0
そもそもc#のデストラクタが産廃だからあてにしてる動作だろ
282デフォルトの名無しさん (スップ Sd73-2DeC)
2022/03/22(火) 19:49:04.13ID:1zUmccnld
GC(マークアンドスイープ)+FinalizeとDisposeの相性が悪いだけだろ
C#に限った話じゃない
283デフォルトの名無しさん (ワッチョイ 4901-cTkz)
2022/03/22(火) 20:58:45.96ID:hNvbiY4S0
exe終了したら何もかも解放されるんでしょ?
284デフォルトの名無しさん (アウアウウー Sa5d-580B)
2022/03/22(火) 21:05:08.48ID:HvRJN3MAa
基本的には終了で開放だけど、すべてが開放されるとは限らない
よくあるのがexe内部でexcel使ったら、exe終了してもexcelのプロセス残ったままみたいなやつ
285デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 21:09:25.23ID:kAgwAO/L0
ようやく>>282みたいなまともな回答出てきて嬉しい
スコープ外れたタイミングでデストラクタ呼び出し保証しなかった理由ってどこかに解説とかないのかな?
C#の現状のデストラクタとかガチゴミじゃん
286デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 21:19:04.18ID:Ky9cYioTM
またいつもの質問者そっちのけでの罵倒合戦かよ・・・・・

アンマネージドリソースは文字通りC#の管理下にない(un-managedな)リソース
具体的にはunsafeで確保した配列・ポインタやWin32APIを呼び出して確保したIntPtrなど
Disposeのタイミングで適切な手法で(それこそWin32APIを呼ぶなどして)リソース解放しないとメモリリークする

マネージドリソースはC#の管理下にあるリソース全般
FileStreamやDbConnection、Bitmapオブジェクトなどもこれ
そういうオブジェクトをクラス内のメンバ変数で持ってるなら、Disposeメソッド内で
それらのメンバ変数のDispose()を呼ぶことでリソース解放するお約束になってる


>>263の説明はデタラメもいいとこだしそもそも「IDispose」ってなんだよ
>>263のデタラメに気付かずC#を欠陥言語呼ばわりするために乗っかった>>266の言ってることも同じくデタラメなんだけど
こいつは罵倒マウンティングすること自体が目的でわざとデタラメに乗ってるのかそれとも素で理解してないのかは分からん
287デフォルトの名無しさん (ワッチョイ 8bcf-noGs)
2022/03/22(火) 21:23:17.10ID:0A7XAa2y0
C++/CLIならデストラクタが使えるから問題ないんだよな。捨てたのはもったいない。
288デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 21:31:04.74ID:kAgwAO/L0
それな
GCとかの仕組み上どうしても無理でしたってんなら納得逝くんだけどその辺知りたい
289デフォルトの名無しさん (スップ Sd73-foG8)
2022/03/22(火) 21:39:13.30ID:6LsnJNlYd
>>285
スコープ外れたってどうやって判断するの?
290デフォルトの名無しさん (ワッチョイ f9ac-MdQT)
2022/03/22(火) 21:39:56.93ID:3weeWjHs0
というかここら辺はサンプルというか、実際使ってるコードみないとピンとこんよな
これは意味あるIdisposable、こっちは意味ないとかで
291デフォルトの名無しさん (スップ Sd73-2DeC)
2022/03/22(火) 21:41:21.16ID:1zUmccnld
>>287
ref class C{
~C(){} // Destructor
!C(){} // Finalizer
};
のコンパイル結果が
// C# DLL
class C:IDisposable{
Dispose(); //Destructor???
~C();//Finalizer
}
であることをご存知でない?
292デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 21:46:59.16ID:OaCGWLhd0
C#を欠陥言語呼ばわりするだけあってGCが何かすら知らないアホの子だったとさ。
ヤレヤレ ┐(´ー`)┌ マイッタネ
293デフォルトの名無しさん (ワッチョイ 8bbb-216p)
2022/03/22(火) 21:51:59.68ID:kAgwAO/L0
>>289
言語自体の実装は見たこと無いからサパーリ
せやから解説とかしてる人いないのかなって
294デフォルトの名無しさん (ワッチョイ 2979-zSlE)
2022/03/22(火) 21:52:39.06ID:kPYOUkgu0
>>283
されねーんじゃねーか?
俺はあふれるまで動かないって言ってるじゃん

msdnより

ガベージ コレクションの条件
ガベージ コレクションは、次のいずれかの条件に当てはまる場合に発生します。

システムの物理メモリが少ない場合。 OS からのメモリ不足通知またはホストによって示されたメモリ不足のいずれかによって検出されます。

マネージド ヒープで割り当てられたオブジェクトによって使用されているメモリが、許容されるしきい値を超える場合。 このしきい値は、プロセスの進行に合わせて絶えず調整されます。

GC.Collect メソッドが呼び出されます。 ほとんどの場合、ガベージ コレクターは継続して実行されるため、このメソッドを呼び出す必要はありません。 このメソッドは、主に特別な状況やテストで使用されます。
295デフォルトの名無しさん (ワッチョイ 8bcf-noGs)
2022/03/22(火) 21:53:03.08ID:0A7XAa2y0
>>291
スコープを外れたときに自動的にDispose()が呼ばれるから問題ないってことなんだが。
296デフォルトの名無しさん (スップ Sd73-2DeC)
2022/03/22(火) 22:22:58.92ID:1zUmccnld
>>288
お前はメモリとかリソースの管理を他の言語でどうしてるかもっと勉強するべきだ

C/C++がユーザーに全部丸投げしてるのがいい加減辛いので言語側が管理すればいいんじゃね?ってのがGC。
GCの方式で主流なのは参照カウント方式とマークアンドスイープ方式。
参照カウント方式は循環参照(this._obj=this)があると回収されないから、
C#多少大きめのコストを支払ってでもマークアンドスイープ方式にした。

リソース解放のタイミングをコントロールしたけりゃIDisposable使え
解放漏れの保険でファイナライザ使え
https://ufcpp.net/study/csharp/rm_disposable.html

C#1.0のリリースが2002/02だから当時はそれでも充分だったんだろう
297デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 22:39:21.44ID:Ky9cYioTM
そもそもC#は「デストラクタなぞ使うべきではない」っていう思想だし
それゆえにリソースの解放はデストラクタではなくDispose()で行う
(万一Dispose()を呼び忘れた場合に備えて>>291の実装でデストラクタで救済するけど、これも
パフォーマンス上好ましくないんでDispose(bool disposing)みたいなDisposeパターンの書き方で処理を最小化する)
って方針で首尾一貫してるんだけどさあ
その方針にケチつけてデストラクタがクソだのIDispose確認がメンドクサイだの言ってる人たちのほうがおかしいだけなんだよ

>>273
「話の本質わかってなくて草生える」
とか書いてるけどまさにそのとおり
298デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 22:49:13.09ID:Ky9cYioTM
もひとつ気になってたんだけど、Dispose()呼び出しの必要性をいちいち確認して書くのが大変っていうけどホントかよ?

マネージドリソースを扱うにしたって、ローカル変数ならusingで書けばDisposeいらないよね?
最近のC#のバージョンなら中括弧で囲う必要すらなくなったよ?
クラス内のインスタンス変数だとしてもさあ、
DIで初期化するフィールドならDIコンテナに任せればDispose()呼ばなくていい
自前で生成初期化するフィールドだとしてもその個数もたかが知れてるしDisposeの要否も明快に分かるでしょ

それとも、自分で書いてるクラスの中がごちゃごちゃでDisposeが必要な変数がどれか把握しきれないってこと?
そんなクソみたいなゴミ溜めクラスしか書いてないのだとすれば、言語仕様じゃなくてクラス設計/実装能力の問題だと思うんだよね
299デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 22:56:19.99ID:Ky9cYioTM
ごめん嘘書いた
>>291の実装はC++/CLIの話だったのか(ごめんC++/CLIはやったことがないので判らない)
Disposeパターンのデストラクタと似たようなものだと思い込んで混同しちゃってた
300デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 22:56:39.59ID:OaCGWLhd0
> そもそもC#は「デストラクタなぞ使うべきではない」っていう思想だし
聞いたことねーなw
デストラクタは非同期ですってだけだ。同期したいならdispose使えという単純な話でしかない。
301デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/22(火) 23:25:36.30ID:Ky9cYioTM
あれどっかに書かれてたと思ったんだが・・・と思って調べたら
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/finalizers#explicit-release-of-resources
「高額な外部リソースを使用している場合」という限定で「明示的に解放する手段を用意することが推奨されます」
とはあったけど、デストラクタなど使うべきではないとまでは書かれてなかった
たしかにちょっと踏み込みすぎたか

てか「デストラクター」じゃなくて「ファイナライザー」って呼ぶように変わったのね・・・いつから?
そのわりに
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/language-specification/classes#destructors
では「デストラクター」のままだったりしてるけど
302デフォルトの名無しさん (ワッチョイ 51d2-3X4l)
2022/03/22(火) 23:40:08.97ID:OaCGWLhd0
元々finalizeはCLR側の用語でデストラクタはC#側の用語。
MSのゆとり化が進んで馬鹿すぎて区別できなくなったんだよ。
303デフォルトの名無しさん (ワッチョイ 112f-kNuw)
2022/03/22(火) 23:47:20.01ID:3UvLvdTM0
デストラクタを実装したクラスはガベコレの効率が落ちる(世代があがる)からなるべく使うなって話だったはず
304デフォルトの名無しさん (テテンテンテン MMeb-NT4g)
2022/03/23(水) 00:14:26.29ID:fh4EIdzSM
>>302 >>303 の書き込みをヒントに検索したら
https://ufcpp.net/study/csharp/rm_gc.html?sec=cost-to-finalize#finalize
このページにたどり着いて
デストラクタ→ファイナライザに呼び名が変わる理由もデストラクタのコストが極大なことも分かった
GC.SuppressFinalize()っていままで意味が分からないまま機械的に書いてたけど大事だったのね
いろいろ賢くなれた、ありがとう
305デフォルトの名無しさん (ワッチョイ 8b63-whB1)
2022/03/23(水) 06:24:39.80ID:XsByKBbP0
ならなくていいから直近50レス以内で俺以外に書き込んでるやつは直ちに全員頭かち割って中央線の始発に飛び込んで死ね
306デフォルトの名無しさん (ブーイモ MMeb-n2Eo)
2022/03/23(水) 06:36:55.59ID:Br4OtuZoM
長文ゲェジ共空気読めよ
(ユーザーが)欠陥言語
確かに間違ってねーな
307デフォルトの名無しさん (ブーイモ MM4d-NnL5)
2022/03/23(水) 23:47:04.44ID:blfYR8q/M
デストラーデがどうしたって?
308デフォルトの名無しさん (ワッチョイ 1302-dhUW)
2022/03/24(木) 04:45:47.25ID:AIr8SSYM0
ゼントラーディがキュンキュン☆
309デフォルトの名無しさん (ワッチョイ 9e68-VQaK)
2022/03/27(日) 19:21:45.49ID:ThH+K+970
float,double型について質問です。基本的に精度のたかいdouble型オンリーで良いと思います。
double型だけじゃなくfloat型が混ざっているソースをみるのですがそれは何故でしょうか?
310デフォルトの名無しさん (ワッチョイ 5e7b-+Ivz)
2022/03/27(日) 19:25:09.32ID:p42Vgj/c0
>>309
C#に限った話じゃないがdoubleの方がメモリを多く使って計算速度も遅くなるから
311デフォルトの名無しさん (ワッチョイ 9e68-VQaK)
2022/03/27(日) 19:30:11.97ID:ThH+K+970
>>310
ありがとうございます。
リストのときにdoubleじゃなくfloatがよく使われてたのはそれが理由だったんですね。
312デフォルトの名無しさん (ワッチョイ 5ecf-+Ivz)
2022/03/27(日) 20:53:18.65ID:rqiHHq3k0
floatとdoubleの混用なんてそんな傾向が見いだせるほど頻繁に使われているとは思えんが。
たまたま見たそのコードではそういう使い方をしていたに過ぎないんでは。
313デフォルトの名無しさん (ワッチョイ 3179-yByv)
2022/03/27(日) 22:06:23.31ID:XoV4gFeA0
昔のコードをまだ使っててfloatのとこがあるって理由じゃねーかな?
314デフォルトの名無しさん (ワッチョイ b1d2-JyYd)
2022/03/27(日) 22:32:37.28ID:K7MWSPEs0
C++では機械学習と3Dレンダリングでの並列化を目的にfloat16_tとかいう概念が生産されたりしてるからfloat自体は過去の遺物ってほどでもない

C#だと実行速度を気にするよりも開発を楽にすることを重視することが多いからdoubleオンリーでいいのは確か
315デフォルトの名無しさん (ワッチョイ 6502-QEpm)
2022/03/27(日) 23:11:31.46ID:HQutMm3I0
専用命令とかでベクトル演算するなら、floatの方が同時に演算出来る数が多いから単純に速くなる
316デフォルトの名無しさん (ワッチョイ a901-oYu3)
2022/03/28(月) 01:08:53.91ID:TOp/Y7AF0
まぁ精度や速度がクリティカルでなければ悩む時間が無駄だしdoubleでいいでしょ
317デフォルトの名無しさん (オッペケ Sr79-qy3V)
2022/03/28(月) 09:26:10.00ID:1rap9yocr
>>309
主に組み込みのシステムと通信していたりする場合、相手が float のサイズを要求することもある。

>>310
メモリは多く使うが、今どきはハードウェアで double を計算するはずなんで、遅いはダウト。
むしろfloat の方が double への変換の分遅くなるまである。
318デフォルトの名無しさん (ワッチョイ 92ad-Xzp3)
2022/03/28(月) 09:29:45.95ID:MxvDEKd20
いまだにダウトとか言う香具師っているんだな
ダウトとか今日日聞かねえわ
319デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/28(月) 11:03:16.37ID:9Kb03WZY0
というかそれぞれの場合過ぎるやろ

「基本doubleでいい」には自分は同意するけど、
別にfloat使ってたからって誤差が問題ないなら何も言わない
わざわざ変換を何度もして計算してたら気にするけども、そこまで求められる現場もそう多くないのでは
320デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/28(月) 11:19:15.17ID:8MPYL/o90
>>318
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´∀`)< オマエモナー
  (    )  \_____
  | | |
  (__)_)
321デフォルトの名無しさん (アウアウウー Sacd-j7M0)
2022/03/28(月) 11:25:55.09ID:28On/6D6a
整数でも他との型を合わせる以外 int を使うし、実数も基本 double でいいのでは
322デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/28(月) 11:39:56.75ID:TN58deSDM
遅くても小数以下の精度が重要ならdecimal使え
323デフォルトの名無しさん (ブーイモ MMd5-nQMq)
2022/03/28(月) 11:48:23.50ID:VjMRJ3XsM
floatは結構簡単に精度の低さが問題として表面化するよ
longとintの比ではない
324デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/28(月) 12:15:41.21ID:TN58deSDM
結局のところ、用途次第では
325デフォルトの名無しさん (アウアウクー MM39-121j)
2022/03/28(月) 14:04:59.59ID:iWC4w4vVM
実際のビジネスシステム構築ではDecimal型使う場合が多い
326デフォルトの名無しさん (ワッチョイ ad49-+/qe)
2022/03/28(月) 14:21:08.92ID:9Kb03WZY0
そうかなあ。。
327デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/28(月) 14:25:47.66ID:8MPYL/o90
精度云々言ってるやつはせめて具体な影響の例も書こうぜ
328デフォルトの名無しさん (ラクッペペ MM96-gZpx)
2022/03/28(月) 14:27:32.27ID:3kQaQ/3DM
sqlサーバーのnumeric(4,0)とかをEFでモデル作るとdecimalになるけど
お前らそのまま使ってる?
329デフォルトの名無しさん (ワッチョイ b1d2-JyYd)
2022/03/28(月) 14:37:28.69ID:TgL79h+20
>>317
float演算もdouble演算もハードウェアがサポートしてるけどdoubleの方がクロック数消費が多い
330デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/28(月) 14:41:13.92ID:DkKihmtS0
参考にどうぞ
MOVSS xmm, [m32] L: [memory dep.] T:0.50c
MOVSD xmm, [m64] L: [memory dep.] T:0.50c
MULSS xmm, xmm L:4.0c T:0.50c
MULSD xmm, xmm L:4.0c T:0.50c
331デフォルトの名無しさん (ワッチョイ b1d2-JyYd)
2022/03/28(月) 14:45:52.84ID:TgL79h+20
Ryzenのdatasheet過去に見たけど今検索しても見つからなくて困ってる

SIMD含め命令の消費クロック数とか全部書いてたのに...
332デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/28(月) 14:47:28.95ID:TuD9lj1za
>>327
floatだと日本の人口(1億2550万2290人)すら代入できない
333デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/28(月) 14:59:00.88ID:DkKihmtS0
Ryzen 5
MULSS xmm, xmm L:3.0c T:0.50c
MULSD xmm, xmm L:4.0c T:0.50c

Intelより速いですな。
334デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/28(月) 15:06:53.09ID:8MPYL/o90
はえー
335デフォルトの名無しさん (スッップ Sdb2-FX9+)
2022/03/28(月) 15:46:24.33ID:PX19Xk7jd
C#でNTFSのMFTデータ取得とHDDにセクタ(?)単位で読み書きしたいです。

出来るなら関数とかを教えて欲しいですよろしくお願いします。
336デフォルトの名無しさん (ワッチョイ b12c-XwpL)
2022/03/28(月) 16:10:41.34ID:bggr0gZp0
YouTube でよく見るけど、

Ryzen は高いけど、Intel 12世代に負けているでしょ?
337デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/28(月) 16:15:23.65ID:DkKihmtS0
NVIDIA GeForce RTX 3060
FP32 (float) performance 12.74 TFLOPS
FP64 (double) performance 199.0 GFLOPS (1:64)
338デフォルトの名無しさん (ワッチョイ 5ee3-q+eG)
2022/03/28(月) 19:15:33.23ID:yX/3nbFs0
Intel12世代コアで雑にマルチスレッドプログラム動かしても大丈夫だよね?
下手にEコア引くみたいなことは無いと思うけどさ
339デフォルトの名無しさん (ワッチョイ 9202-q+eG)
2022/03/28(月) 21:00:15.79ID:dJWBHkZn0
AVX-512を有効化して使うことができる石を使っている…だと!?
340デフォルトの名無しさん (アウアウウー Sacd-c/bJ)
2022/03/29(火) 08:08:07.07ID:D1mnE0bGa
プログレスバーを継承したコントロールのOnPaintの中で
base.OnPaint();呼んでもバーの部分は描かれないの?
341デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/29(火) 08:48:22.02ID:xQkhmjZ40
試せばいいじゃん
342デフォルトの名無しさん (ワッチョイ f57c-YDa2)
2022/03/29(火) 10:21:34.64ID:ET94Xefu0
>>340
そもそも OnPaint は呼ばれない
343デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/29(火) 10:43:15.31ID:2DY4nmItM
>>340
Reference Source見れば分かるけど、そもそもOnPaint実装してない
値が変わったらSendMessageでPBM_SETPOS送ってるだけ
344デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/29(火) 10:52:49.33ID:MRVYy1310
>>335
それはもうC#とか関係なく特権権限でWin32APIでも利用してマニュアルでやるしかない
MFTの構造とかはググれば多分すぐに見つかるだろう
345デフォルトの名無しさん (ワッチョイ 552f-XwpL)
2022/03/29(火) 22:37:57.81ID:YOHlvasK0
>>328
むしろdecimal以外をつかうなら、それDB側の型が妥当か疑わしいが
346デフォルトの名無しさん (ワッチョイ 655f-FX9+)
2022/03/30(水) 10:44:05.86ID:u/rQAHi50
>>344
WIN32API 含めて検索したら出てきたKernel32.dllのreadfile/writefileの引数にPHYSICALDRIVE指定したらできそう頑張ってみる、ありがとう。
347デフォルトの名無しさん (ワッチョイ 655f-FX9+)
2022/03/30(水) 10:44:38.10ID:u/rQAHi50
したらできそうじゃ無くてできるらしいだった
348デフォルトの名無しさん (ワッチョイ d980-DSQx)
2022/03/30(水) 12:07:06.02ID:7T4t4X1P0
外部のdll関数にintptr渡して実行する処理(HBitmapにポインタ合わせて投げる)
が複数の上記とは関係ない処理をまたいで有効になっている処理を2,3回繰り返すんですが
メモリリークしてます。
どのようにしたらメモリリーク防げるかおわかりでしたらお教えください。

渡すBitmapとポインタを常に同じメモリ使う様にすれば良い?のかなとは
思うのですがそこらへんのやり方等なにかご存知でしたらご教授くださいm(_ _)m
349デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/30(水) 12:17:11.87ID:3gh732H7M
ハンドルの解放わすれてるとかでは?
ループでぶん回すとメモリがリニアに増えてく箇所が無いかとか、まず場所を特定しなさい
350デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/30(水) 14:56:51.43ID:oMfCMBWB0
newしたらdelete
getしたらrelease
mallocしたらfree
openしたらclose

すべてチェックするしかないですな。
むしろなぜ対にしてコードを書かないのか謎。あっC#だからか。
351デフォルトの名無しさん (アウアウウー Sacd-j7M0)
2022/03/30(水) 17:56:20.90ID:nffiieLqa
アンマネージなリソースはガベコレの対象外
352デフォルトの名無しさん (アウアウウー Sacd-1WDX)
2022/03/30(水) 20:34:58.75ID:hQhM7AVja
アンマネージなリソース使うならIDisposableにしてusing内で使う
>>350みたいなのはやってられん
353デフォルトの名無しさん (ワッチョイ f5d2-0aOS)
2022/03/30(水) 21:44:16.77ID:oMfCMBWB0
さすがgdbでVSを超える男!!
354デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 10:19:23.23ID:mHRscCZz0
せめてref structだけはデストラクタ書いたらスコープ抜ける所で自動でデストラクタ呼び出ししてもらいたいわ
C++みたいに
まぁC++みたいにコピームーブ禁止にできないから複数回呼ばれちゃうことを考えたらそういう風にはづらいってことなんだろうけど
355348 (ワッチョイ d980-DSQx)
2022/03/31(木) 10:54:55.91ID:58En6M9E0
ご指摘ありがとうございます。
IntPtrを割り当てたBitmap分のメモリがやはり解放されてないのは特定しました。
gdi32.dllにあるDeleteObjectじゃなきゃ消せないみたいなページ見つけて試してみたら解放されました。お騒がせしましたm(_ _)m
356デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 11:08:50.02ID:evWCXRMT0
>>354
using使えば良いのでは
357デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 11:59:17.51ID:mHRscCZz0
>>356
個人プロジェクトではそうしてるけどそれじゃ他人には公開できないからな
強制usingでもあれば公開できるけど
358デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 12:09:50.08ID:nbMZolC5a
たまにusingはwin32リソース用だってかたくなにその用途以外を否定する奴いるけど別にそんなことないからな
意味ないusingはアホだけど
意味あるusingは恥ずかしくないぞ
359デフォルトの名無しさん (テテンテンテン MM96-LqrM)
2022/03/31(木) 12:24:28.89ID:hS7dFlrlM
SafeHandle使え
360デフォルトの名無しさん (ブーイモ MMad-QNkB)
2022/03/31(木) 12:43:51.28ID:/3uX6C5lM
Disposeはデストラクタとは違うんだけどな
361デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 12:57:14.51ID:nbMZolC5a
だったらc#のデストラクタ使えばいいw
それだと望み通りの挙動しないからusing使えばって話だろ・・・
362デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 13:22:42.01ID:mHRscCZz0
>>361
だからそうしてるって話たろ
でもデストラクタと違って必ず呼ばれる訳ではないから他人には公開できない
363デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/31(木) 13:32:55.92ID:nbMZolC5a
using使ってデストラクタって意味じゃないぞ
using使ったらdisposeが必ず動くって意味だろ。dispose持ってるクラス本体の開放は仕方ないがそれ以外ならなんとかなるってこと
364デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/31(木) 14:26:29.77ID:6RpIJweLM
そもそもref structはいわゆる「所有権の借用」を扱う仕組みだろ
通常、ref structは自身のフィールドに持つref型の値を解放する責任を持たない
リソースの解放をしやすくすることを目的にref structを使うのは本来の目的から逆行しており、明らかに誤用だ
365デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 14:30:13.37ID:evWCXRMT0
使い終わったら解放してね(はぁと

↑この前提がドキュメントに書かれていれば必ず呼ばれるはず
でなきゃバグるだけなのに「必ず呼ばれる訳ではない」というのは辻褄が合わなくない?
366デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 14:44:13.32ID:mHRscCZz0
>>363
C#ってstructにデストラクタ書けないから当たり前やん
367デフォルトの名無しさん (ワッチョイ b124-GurK)
2022/03/31(木) 15:02:10.43ID:mHRscCZz0
>>365
そういうスタンスでいいならそもそもマネージドな言語を使う必要すらないな
まぁ実際に個人開発だとUnity関連のツールですらも最近はもうC++で書いちゃう事も多いけど
368デフォルトの名無しさん (ブーイモ MMd5-QNkB)
2022/03/31(木) 15:07:59.31ID:vlNZ1mGnM
>他人には公開できない
このキーワードで時間の無駄だと気付くべきだったわ
369デフォルトの名無しさん (スップ Sdb2-JyYd)
2022/03/31(木) 15:16:52.15ID:tugEDnGHd
スコープアウト時点で解決されないのにデストラクタなんて用語使うからおかしくなるんだよ
Finalizeと呼べ
370デフォルトの名無しさん (ワッチョイ 851a-pZZ2)
2022/03/31(木) 15:17:20.68ID:evWCXRMT0
>>367
そだねー、バイバイ!
371デフォルトの名無しさん (ワッチョイ debb-a3iW)
2022/03/31(木) 15:21:05.77ID:f+hSFW0H0
要約するとC#のデストラクタはゴミってことや
実際ゴミだし
372デフォルトの名無しさん (ワッチョイ 6ea7-OgJM)
2022/03/31(木) 15:58:52.05ID:6NE6xHU80
基本的にC#のデストラクタはよっぽどの理由なない限り触らないかな
Javaみたいに割り切ってメソッドとして呼び出した方が早い気がする
373デフォルトの名無しさん (ワッチョイ 5ecf-+Ivz)
2022/03/31(木) 21:12:01.42ID:EY1WgKK40
>>369
でもデストラクタはもともと単にデストラクトするものでしかないがな。
スコープを外れた時点で呼ばれるものという意味が被されたのはRAIIが提唱されてからではないかな。
374デフォルトの名無しさん (ワッチョイ f1ad-j7M0)
2022/04/01(金) 00:26:25.70ID:fCYhyeTu0
Finalizer との使い分けが不明
375デフォルトの名無しさん (ワッチョイ a901-oYu3)
2022/04/01(金) 00:30:31.21ID:oErDDmhk0
実際、c#のデストラクタって実務でどういうケースで使うんですかね?
376デフォルトの名無しさん (ワッチョイ 3179-yByv)
2022/04/01(金) 00:44:47.91ID:m4YyG8VP0
>>375
>>294のタイミングで何かを実行したいとき
377デフォルトの名無しさん (ワッチョイ 8554-r1yM)
2022/04/01(金) 02:25:59.87ID:iQ3hg2/90
WebView2って配布サイズがでかいんだけど、
自分のアプリで使ってる機能を含んだファイルだけ抜粋してexeに統合してくれるような機能ってないよね・・・?
378デフォルトの名無しさん (ワッチョイ b501-tYr6)
2022/04/02(土) 03:46:45.79ID:+agV7laW0
floatとdoubleの関係はVAX-780の仕様が
C言語に反映されて、その名残や
379デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/02(土) 08:11:14.40ID:XWC+OGmA0
その経緯は詳しくないが、C言語とUNIXの開発マシンはPDP-11で
そもそもVAX/11-780ですよ
380デフォルトの名無しさん (オッペケ Sr01-PDpb)
2022/04/02(土) 08:19:51.83ID:k7wnX1H/r
>>377
electronもChromiumとnode.js含んでるから配布サイズでかくなるし、そんなもんじゃないの?
381デフォルトの名無しさん (ワッチョイ 4bcf-fe9w)
2022/04/02(土) 08:44:19.63ID:ofyuLHc/0
>>379
それを言うならVAX-11/780だったり。
382デフォルトの名無しさん (ワッチョイ 03bd-1ea/)
2022/04/04(月) 23:43:06.35ID:TdiahOFG0
ListViewを2つ設置して、ListView1内のリストを選択したらListView2の内容が切り替わる物を作成しました。

ListView1と2の選択状態を維持?というか選択されてるリストはこれです的な事がしたいんですが、何か方法ありますか?ListView2にフォーカスがある状態だと選択項目が薄いグレーでちょっと分かり辛くて。
383デフォルトの名無しさん (ワッチョイ 4b8e-7TU2)
2022/04/05(火) 00:08:08.92ID:zIQxtY/u0
>>382
馬鹿ほど標準のインターフェイスを蔑ろにする法則
384デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/05(火) 00:55:34.37ID:T5/vxYA/a
バカほどユーザーフレンドリーなUI設計できないからなw

>>382
オーナードロー使って描画
listview ownerdrawでぐぐれ
385デフォルトの名無しさん (ワッチョイ 55d2-z1p6)
2022/04/05(火) 08:07:12.88ID:1bIb0zGQ0
>>382
選択中のものを表示するだけならTextBox(+Icon)表示でいいんじゃない?

選択項目が見づらいだけならStyleなりPropertyいじるなりで解決するべき
386デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/05(火) 12:11:48.60ID:dB7gHOw60
初心者相手に隙あらばマウント取るような性格終わってる奴多いなこのスレ
こりゃ質問したくもなくなるわ
387デフォルトの名無しさん (ラクッペペ MM4b-F4RB)
2022/04/05(火) 12:26:01.86ID:+EK3ySaMM
初心者には実現できない要望は冷たく突き放します
388デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/05(火) 13:30:53.49ID:dB7gHOw60
実現できるどうかはお前が判断することじゃないのでは
389デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/05(火) 13:41:26.92ID:XOmbbeB50
オーナードローは面倒なだけで難しいわけじゃない
真面目にドキュメント読めるなら初心者でも問題ないよ
390デフォルトの名無しさん (ワッチョイ 9b68-Sq5D)
2022/04/05(火) 15:02:01.76ID:Ba/bG8iE0
c#の環境が一切入っていないpcでも動くように、.netのフレームワークを埋め込んで?ビルドしてexeにする方法はないですか。
391デフォルトの名無しさん (ワッチョイ 232c-8SQp)
2022/04/05(火) 15:42:50.10ID:dGWAWcOP0
現行の一般向けWindowsなら.NET Framework 4.8が必ず入ってるから特に埋め込む必要もないけど
392デフォルトの名無しさん (ワッチョイ 1b66-eIlS)
2022/04/05(火) 16:14:22.72ID:Zafpq7jd0
.net6とかで単体ビルドで作るか、
net4.5で作ってwin8以上ならデフォルトで動作するって形にするか。

あとwin7をどうするかだが未だにnet4.5すら入れてないPCだと、
多分他人様のプログラムは入れないことになってるマシンだと思うよ。
393デフォルトの名無しさん (ワッチョイ 2ba7-fSZ/)
2022/04/05(火) 16:29:15.25ID:5kofz9bO0
>>390
.NET5以降だった気がするけど、dotnetの代わりにpublishを使って自己完結型にすればできる
Visual C#だと設定画面のやつでやるみたいだけど
394デフォルトの名無しさん (ワッチョイ 0342-2JBZ)
2022/04/05(火) 17:02:06.32ID:XOmbbeB50
大昔にWixってやつでやれたはずだが、今どうなっているのかよく知らん
https://wix-tutorial-ja.github.io/
基本何でも出来るけど割と面倒だった
395デフォルトの名無しさん (ワッチョイ 1b66-eIlS)
2022/04/05(火) 18:21:24.03ID:Zafpq7jd0
.net5以降の単体exeにした場合は
実行時には該当のディレクトリではなく別の場所で実行されるので
exe自身の場所(location)を使ったプログラムが
予想外の挙動になりやすいから注意。
396デフォルトの名無しさん (ワッチョイ 9b68-Sq5D)
2022/04/05(火) 21:45:34.55ID:Ba/bG8iE0
ありがとうございます。普通は入ってるんですね。
試してた環境の方が特異そうなので、大人しくインストールすることにします。
397デフォルトの名無しさん (ワッチョイ 155f-/9eL)
2022/04/05(火) 23:01:55.88ID:mMOq1HVR0
確か自己完結型って100MBとかになるよね
398デフォルトの名無しさん (ワッチョイ e501-h8zr)
2022/04/05(火) 23:12:36.35ID:UU7U1gGd0
ありとあらゆるdllが吐き出されるからね
399デフォルトの名無しさん (ワッチョイ 155f-dh/0)
2022/04/06(水) 00:12:56.96ID:7u+Qf3S40
使ってる機能によるけど、AOTかけるとめちゃくちゃ小さくなるよ。
https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/docs/using-nativeaot/README.md
400デフォルトの名無しさん (ワッチョイ cb33-B15a)
2022/04/06(水) 08:39:37.48ID:YEw/T58f0
>>399
これでコンパイルしたら、dotpeekなどでソース見れなくなりますか?
401デフォルトの名無しさん (ワッチョイ 03bd-1ea/)
2022/04/06(水) 21:00:10.84ID:5X0JV1AF0
>>204の者です。無事にdxfできました。ありがとうございました。
そして、改良加えたいです。重なった図形と図形(矩形限定)を外径線だけにしたいです。添付の図形のオレンジの部分の線を無くしたい。
ネットで調べてRectangle.Intersect()で座標点を調べて2次元List配列に重なりグループとして図形座標点を振り分けました。2次元めの要素数が複数あれば重なり図形が存在するといった感じです。

ここから先が考えても全く分かりません。
座標点は左下が0を基準に矩形座標10,10-30,50 (左下点-右上点)の様な感じで横30縦50です。

Intersectの様な便利なコードとかあったりするんですか?
伝わらないかもしれませんが...

ふらっと C#,C♯,C#(初心者用) Part154 ->画像>4枚
402デフォルトの名無しさん (ワッチョイ 232c-8SQp)
2022/04/06(水) 22:20:25.85ID:M9ji/8uj0
外径線というのがよく分からんが(外形線なら引っかかるけど…)
アウトラインが欲しいってことでいいのかな

GDI+ならGraphicsPathとAPI関数を使えば取れるみたいね
https://stackoverflow.com/questions/1592285/outline-a-path-with-gdi-in-net?msclkid=2e7df5e6b5a411ecb360e4889893bf26
GdipWindingModeOutlineした後PathPointsプロパティで頂点座標が取れる

System.Windows.Mediaなら(WPF用だけどそれ以外でも必要なDLLを参照すれば使える)
CombinedGeometryを使えば2つのRectangleGeometryの和集合ジオメトリを作れる
そのアウトラインはGetOutlinedPathGeometry()で取得できて
そのFiguresプロパティから頂点座標が取れる、ちょっと面倒だけど
403デフォルトの名無しさん (ワッチョイ 4bbb-p1CK)
2022/04/06(水) 22:44:05.00ID:wyNXSO9Z0
>>401
>ここから先が考えても全く分かりません。
ここから先何するつもりなのかが分からんのでは誰もアドバイスしようがないんだが…
重なる2点の座標値は取れてるんだよな?

計算方法が分からんというのであれば、「ゲームプログラミング 当たり判定」とかでググれば初心者用の解説が沢山出てくるよ
404デフォルトの名無しさん (ワッチョイ 5579-7RFn)
2022/04/07(木) 01:47:00.86ID:Y333t//b0
3Dモデル?
はじめに線の色のモデルを描画して
真っ白なモデルをテクスチャに描画して線の分だけ縮小して描画すると結果として枠線に見える
405デフォルトの名無しさん (スプッッ Sd43-1ea/)
2022/04/07(木) 07:04:42.58ID:OS52QiU/d
>>402
外枠?外形ですね。添付されてるサイトの図みたいな感じですね。ありがとうございます。
翻訳しても解読してみます。
406デフォルトの名無しさん (ワッチョイ 23ad-B8Ym)
2022/04/08(金) 00:38:37.72ID:Fi5aXPbi0
>>392
4.5のDeveloper packはもう公開されてないよ。4.5.1ならまだ生き残ってるけど、サポート切れてからもう6年だからいつ消されてもおかしくない。
407デフォルトの名無しさん (ワッチョイ 23ad-B8Ym)
2022/04/08(金) 00:40:05.67ID:Fi5aXPbi0
>>399
AoTは逆にデカくなる場合が多い。小さくするのはTrimmingね。
408デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
2022/04/10(日) 17:46:01.40ID:CqPvJwcW0
pointfへdecimal型の値を入れると少数点誤差するのって仕方ないんですかね?繰り上げ、繰り下げするしかないですか?
409デフォルトの名無しさん (ワッチョイ 067b-L5s4)
2022/04/10(日) 18:22:49.60ID:rAitDt050
>>408
(single)float の誤差だからどうしようもないでしょ
https://dobon.net/vb/dotnet/beginner/floatingpointerror.html
小数(浮動小数点数型)の計算が思った結果にならない理由と解決法 Decimal型はいつ使うか?

pointFには表示の時の代入だけにして計算などの参照数値としてdecimal型でキープしたら
410デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/10(日) 18:59:17.17ID:jzJz8won0
>>408
有効桁数何桁いるのよ?
自分の扱う数値の性質知ってれば、対処も判るでしょ
411デフォルトの名無しさん (ワッチョイ ef79-fyPK)
2022/04/10(日) 21:11:34.73ID:2dAV5eyM0
分数型を自分で作れば3分の1も表現できて完璧さ
412デフォルトの名無しさん (ワッチョイ 9bc7-wAOu)
2022/04/11(月) 00:20:20.27ID:x2gvkajx0
クラスメンバーはインスタンスメンバーとしてアクセスできないという認識です。
ですが、インスタンスのメソッドからであればクラスメンバーにアクセスできることが分かりました。
これはなぜですか?
413デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/11(月) 01:33:02.08ID:MA36Pnxj0
あなたがメンバーと呼んでるものはフィールドと呼ぶべき
おそらく int _a;のように宣言したものでしょう

フィールドはインスタンスメンバとしてアクセスは可能。
だけどC#的にフィールドに直接アクセスするのはやめようねってことになってる。
大抵のフィールドはprivate宣言されてるからアクセスできないだけ
414デフォルトの名無しさん (ワッチョイ e22c-tEy/)
2022/04/11(月) 02:14:22.40ID:AXHTI4fJ0
単にHogeクラス内ではHoge.もthis.も省略できるってのを混同してるだけな気がする

class Hoge {
public static readonly int A = 0;
public void Piyo() {
Console.WriteLine(A); // アクセスできる Hoge内ではHoge.は省略できる
Console.WriteLine(Hoge.A); // アクセスできる
Console.WriteLine(this.A); // エラー、アクセスできない
}
}
var obj = new Hoge();
Console.WriteLine(Hoge.A); // アクセスできる
Console.WriteLine(obj.A); // エラー、アクセスできない
415デフォルトの名無しさん (ブーイモ MM3e-Ds6D)
2022/04/11(月) 03:50:25.34ID:6OUa/NLdM
412が言いたいのは

class hoge{
private int v;
public hoge(int v){
this.v=v;
}
public void add(hoge n){
this.v+=n.v; //nのprivateなvにアクセスしてる?
}

こういうことか?理由はしらんけど。
416デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/11(月) 13:41:04.22ID:2IiYezuY0
初心者にありがちな静動の区別がついてないやつじゃないか
public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
public int A; ← これは単なる設計図でしかなく実体ではないのでインスタンスという実体を通さないとアクセスできない
417デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/11(月) 13:54:40.12ID:Hu2NcYeja
> public static int A; ← これは実体なのでどこからでもすぐにアクセス可能
これが成り立たない(アクセスできない)理由教えてくれって話だろ

そんなもん。そうなってるからって覚えておけばいい。疑問に思うな
418デフォルトの名無しさん (ワッチョイ 227c-EhK1)
2022/04/11(月) 15:57:10.61ID:uofIS0L20
そもそもの意味が分かってないのかな
staticとそうでないメンバーはアクセスの方法がそもそも違うよね
基本的にstaticなメンバー変数使ったりしないけど
良くあるケースはシングルトンでそのインスタンスは1個しか存在しないというケースで
自分のクラスで自分自身のインスタンスをstaticで保存しておくみたいな事はあるけどね
419デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/11(月) 16:49:53.85ID:2IiYezuY0
>>417
だから「実体じゃなくて単なる設計図だから」って言ってるやろ
420デフォルトの名無しさん (ワッチョイ c235-LT45)
2022/04/11(月) 16:51:08.57ID:fsqAayw10
COM+とかのCUnknownクラスの実装とか、親クラスが子クラスの数を知るために親クラスで静的変数でカウントしてる。
QueryInterfaceとかAddRefとかReleaseのあれ。
421デフォルトの名無しさん (ワッチョイ 9bc7-wAOu)
2022/04/11(月) 23:27:42.68ID:x2gvkajx0
412です
コードを貼ります。
同じiにアクセスするのに、MainメソッドではエラーになりますがTestMethodではコンパイルが通ります。
これはこういうものだと覚えるしかないですか?
すみませんがご教示お願いします。

class Hoge
{
public static int i = 0;

public void TestMethod()
{
Console.WriteLine(i);
}

static void Main(string[] args)
{
var obj = new Hoge();
Console.WriteLine(obj.i); //エラー
obj.TestMethod(); //アクセスOK
}
}
422デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/11(月) 23:38:14.91ID:M/snaKK00
staticの意味判ってる?
423デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/12(火) 00:10:31.66ID:ONhvWtwta
理由はあるのかもしれないけど、そういうものと思うしかない
c++だとどっちでもアクセスできるんだけどな
424デフォルトの名無しさん (ワッチョイ e2e4-vgyN)
2022/04/12(火) 00:10:46.17ID:K1UtBmdi0
>>421
静的メンバーの本来のアクセス方法は『Hoge.i』なんだけど、
Hogeの中に書いてあるからHogeの部分を省略出来るってだけだよ
425デフォルトの名無しさん (ワッチョイ 9b2f-U3yj)
2022/04/12(火) 00:20:10.77ID:rqESlhgY0
staticとインスタンスの概念がちゃんと理解できてない気がするなぁ

ところでc#で静的メンバをクラスメンバって呼ぶ?
426デフォルトの名無しさん (ブーイモ MM02-Znm5)
2022/04/12(火) 00:27:19.27ID:rrWkQMspM
JavaとかVBとかPythonとかobj.iでも
アクセスできる言語のほうが多いよね
427デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/12(火) 00:37:07.08ID:E/HectKH0
Hogeクラス内からアクセスする時にstatic memberとinstance memberの両方をiのようにアクセスできる。
static memberならHoge.iの省略形。
instance memberならthis.iの省略形。

Hogeクラス内からでもthis.iとは書けない。
428デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/12(火) 00:41:00.50ID:E/HectKH0
>>425
https://ufcpp.net/study/csharp/oo_static.html
静的メンバー(static member)==クラスメンバー

らしい

クラスメンバーという用語自体使わんから知らんかったが
429デフォルトの名無しさん (ワッチョイ 9bc7-wAOu)
2022/04/12(火) 00:46:53.41ID:0S3ZFLlI0
省略形を理解していませんでした。
Hoge内のiはHoge.iの省略形なのですね。
ありがとうございました。
430デフォルトの名無しさん (オイコラミネオ MMe7-EhK1)
2022/04/12(火) 20:27:51.26ID:81T++xV4M
>>425
C#では使わないし言葉
一部のJavaの人が使ってる概念

クラスメソッドと言う言葉があるけどJavaの人たちは
インスタンスについてるんじゃなくてクラスそのものについてるメソッドだからとそう呼んでる

ところがクラスメンバーはタダのメンバーとstaticの場合両方ともあるから意味があいまい
431デフォルトの名無しさん (オイコラミネオ MMe7-EhK1)
2022/04/12(火) 20:32:46.74ID:81T++xV4M
メンバーはメソッド、フィールド、プロパティ、イベントや演算子とかその他もろもろのクラスの構成部品
432デフォルトの名無しさん (ワッチョイ bbe6-hh9d)
2022/04/12(火) 20:47:58.57ID:da5RcI7d0
スタティッククラスメンバーフィールドとヨベ
433デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/12(火) 20:53:22.08ID:dmzMUrMCa
変数、関数、setget
この三つにしろ。よくわからないカタカナ消えろ
434デフォルトの名無しさん (ワッチョイ 42a9-LT45)
2022/04/12(火) 20:54:31.85ID:6dxddh7K0
>>433
よくわかれよw
435デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
2022/04/12(火) 21:29:01.10ID:xUorz5TJ0
変数名を決める時のルールって決めてます?もしくは今までこう付けたとか何かにメモってたりします?
436デフォルトの名無しさん (ワッチョイ 8e66-7/iV)
2022/04/12(火) 21:37:33.60ID:EgjH8LRN0
インスタンスに属するか、鋳型のクラスに属するかだから
静的メンバーでもクラスメンバーでも通じるかなってかんじだが、
静的メンバー系の言い方の方がより正確に伝わりやすいね。

クラスメンバーの言い方ぢとただのグローバル関数との対比でクラスメンバーとかメンバー関数とかいってるのかな?
と思う可能性も大きいから、
前後の話中の文脈に依存するように思う。
437デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/12(火) 21:39:49.41ID:5XdpcaKo0
>>435
C#ではあんまり気にせずキャメルケースだな
C++だとGoogleのコーディング規約に従ってる
438デフォルトの名無しさん (ワッチョイ 362d-wyX0)
2022/04/12(火) 22:01:02.92ID:h+CbKqfb0
>>435
MSのコーディング規約を参考にしてみては

C# のコーディング規則
https://docs.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions
439デフォルトの名無しさん (ワッチョイ cb02-SU+f)
2022/04/12(火) 22:15:42.17ID:POzO28Jn0
アプリケーションの多重起動を抑制するのはよくありますが、同一のアプリケーションが既に起動中だった場合に起動中のアプリケーションを終了させて新たに起動したアプリケーションをアクティブにする方法ってあるでしょうか
440デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/12(火) 22:19:30.15ID:5XdpcaKo0
>>439
Process.Kill利用して出来るけど普通は既に起動中の方をアクティブにして自身は即終了ってやり方が一般的だけどな
441デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/12(火) 22:26:39.14ID:dmzMUrMCa
>>439
プロセス間通信で終了やアクティブにする独自コマンド発行する
442デフォルトの名無しさん (ワッチョイ cb02-SU+f)
2022/04/12(火) 22:31:50.96ID:POzO28Jn0
>>440-441
ご回答ありがとうございます
対象のアプリケーションはスケジューラ的なもので自動起動→自動終了を行なっていて起動時のみ処理を走らせているので、なんらかのエラーで自動終了が正常に行われなかった時の対策として取り入れておこうかと思った次第です
443デフォルトの名無しさん (ワッチョイ 12bd-eTSu)
2022/04/12(火) 23:30:49.49ID:xUorz5TJ0
>>437>>438
質問が悪かったです。

同じ意味の変数名で、アプリごとで違った命名にしてしまう事があったりするのですがその辺は皆さんは統一性があるのかなと。

arrTtlCost、arrCostTtlとかdmlSPt、dmlSrtPtとか
iをidxでやったりとか...
444デフォルトの名無しさん (ワッチョイ 47ac-btYf)
2022/04/13(水) 00:35:02.01ID:gNbyR7HN0
ワイんとこはない
別に気にされない

それはともかくハンガリアンはちょっと。。
445デフォルトの名無しさん (ワッチョイ 86bb-zKnc)
2022/04/13(水) 01:04:13.27ID:bIYlHEPm0
VSの機能充実してるしおれも気にしたことないな
個人的にはC/C++のコードにありがちな変数名の過度な省略はやめてほしいと感じる
ManagerをManとかMgrにしたり>>443の例でもarrとかdmlとか意味調べようがないし困るわ
446デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/13(水) 01:09:19.48ID:Ndo4Py5Ha
ルールはあった方がいい。どんなルールを採用するかは宗教論争だけどw
俺はハンガリアン大好き
IDEが一文字目は大文字にしろみたいにうるさいのは.editorconfigで黙らせてる
447デフォルトの名無しさん (ワッチョイ ef79-fyPK)
2022/04/13(水) 01:10:52.17ID:E/7NmpCy0
大文字始まりはMSのメソッドと被るから嫌
448デフォルトの名無しさん (ワッチョイ 86bb-zKnc)
2022/04/13(水) 01:20:26.33ID:bIYlHEPm0
https://docs.microsoft.com/ja-jp/dotnet/standard/design-guidelines/naming-guidelines
449デフォルトの名無しさん (ワッチョイ 6fd2-WLRK)
2022/04/13(水) 01:33:13.48ID:qfz8Xp880
ハンガリアン法はIDEがゴミだった時代の名残りだと思ってる

そもそもblnHoge書いたところでなにがしたいかわからん
Hogeable,Hoged,Hogeingとか書いた方がよっぽど有益
450デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/13(水) 01:49:53.93ID:Ndo4Py5Ha
何示してるのか分からないっていうのは、ルール決めてないからだよ
単にハンガリアンにしますというのはルールなしと同じ
ルールが整ってるハンガリアンだと他人のソースでもひと目でそれがなにか分かるから読むのが楽になる
451デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/13(水) 02:02:43.40ID:l0BqyJbj0
昔はハンガリアン使ってたな
今のVSなら型すぐ判るし必要性を感じない
452デフォルトの名無しさん (ワッチョイ 86bb-zKnc)
2022/04/13(水) 02:13:05.87ID:bIYlHEPm0
ハンガリアンはぶっちゃけ時代遅れだと思うし
変数名に型情報入れるなんて途中で型変えたらどうすんねんアホかと思うわ
IDEが充実してない時代はよかったんだろうが今となってはデメリットが勝る
453デフォルトの名無しさん (ワッチョイ 8e66-7/iV)
2022/04/13(水) 02:24:06.55ID:pz/7LR9w0
まあIDEが進化してるから変数名すぐに正しく変えれるけどな。
ヘボった言語じゃなければ。
454デフォルトの名無しさん (ワッチョイ 227c-EhK1)
2022/04/13(水) 02:32:33.10ID:P5y02Tze0
win32api時代は使ってたけどC#になったら使わなくなったな
今なら変数名のリファクター(変更)何かVSやその他IDEでも普通に出来るし
適当に名前付けていても問題無いしなぁ
455デフォルトの名無しさん (アウグロ MM7a-fyPK)
2022/04/13(水) 07:08:42.28ID:Gu4WFashM
c++やるときは型によって処理が変わるのであったほうが便利
456デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 13:39:58.01ID:5l1VnwO30
C#からPowserShellを実行して
登録済みのVPN一覧を取得しようとしています。

コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?

using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}

resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
457デフォルトの名無しさん (ワッチョイ c235-LT45)
2022/04/13(水) 17:42:47.77ID:7n1NDRKI0
resultにプロパティがあるんじゃね?
ウォッチで見てみたら。
458デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 17:44:10.52ID:5l1VnwO30
>>457
それがないんですよ。。。
459デフォルトの名無しさん (ワッチョイ c633-iXSd)
2022/04/13(水) 18:57:53.41ID:zw+GE19b0
>>456
resultってコレクションらしいけど、キャストが必要なんじゃない?
460デフォルトの名無しさん (ワッチョイ e26a-ceou)
2022/04/13(水) 20:04:59.41ID:LSUEwVF80
そもそも、PowerShellから戻り値としてちゃんと渡されてるの?
PowerShell上でって標準出力に吐いているだけなんてオチじゃないよね?
461デフォルトの名無しさん (ワッチョイ a201-nj64)
2022/04/13(水) 21:20:33.91ID:xBL6qyXw0
コピペから始めるといいと思う
https://docs.microsoft.com/en-us/powershell/scripting/developer/prog-guide/runspace01-csharp-code-sample?view=powershell-7.2
462デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 23:58:24.80ID:5l1VnwO30
>>459>>461
動的ビューというところに値がありました。

new Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView(result[0]).Items[24]


result[0]
BaseObject
ImmediateBaseObject
Members
Methods
Properties
TypeNames
本来であれば、この中のどこかに入ると思うのですが見つかりません。
463デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 23:58:46.67ID:5l1VnwO30
因みにC#からPowerShellコマンドとしてこれを発行しています。
Get-VpnConnection
464デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/14(木) 00:02:49.87ID:SSeEsvrQ0
>>461
ありがとうございます!取れました!!!!
465デフォルトの名無しさん (ワッチョイ 47ac-btYf)
2022/04/14(木) 00:30:18.01ID:ps2WeHPI0
いえいえ
466デフォルトの名無しさん (オイコラミネオ MMe7-jTyu)
2022/04/14(木) 08:59:15.22ID:91yoHZnRM
ボケ防止にC#を再開したいのですがボケ症状の無限リープに。
何が問題なのかわからない痴呆状態に。。

do
{
text = text.Replace("\n\n", "\n");
text = text.Replace(" ", " ");

} while (text.IndexOf("\n\n") != -1 || text.IndexOf(" ") != -1);
467デフォルトの名無しさん (オイコラミネオ MMe7-jTyu)
2022/04/14(木) 09:07:33.01ID:91yoHZnRM
こう書いたら抜けたからdo-whileがそういう仕様なのかな。

int i1;
int i2;
do
{
text = text.Replace("\n\n", "\n");
text = text.Replace(" ", " ");

i1 =text.IndexOf("\n\n") ;
i2 = text.IndexOf(" ");

} while (i1 != -1 ||i2 != -1);
468デフォルトの名無しさん (ブーイモ MM3e-wy5Z)
2022/04/14(木) 09:10:33.55ID:5eU+We9dM
do~whileで回さなくてもReplaceだけでいいでしょ
469デフォルトの名無しさん (オイコラミネオ MMe7-jTyu)
2022/04/14(木) 09:20:03.14ID:91yoHZnRM
あれ、やっぱりだめだ。
textの内容によってはi2が16000以上の数字のまま無限ループになる。
どうして?

int i1;
int i2;
do
{
text = text.Replace("\n\n", "\n");
text = text.Replace(" ", " ");

i1 = text.IndexOf("\n\n");
i2 = text.IndexOf(" ");

} while (i1 != -1 || i2 != -1);
470デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/14(木) 09:37:31.44ID:BtLi5peKa
i2がってことはindexofの中のスペースがひとつなんじゃない?
indexofでやるのは中サーチしてで時間かかるから、length変化あるかのほうがいい
471デフォルトの名無しさん (オイコラミネオ MMe7-jTyu)
2022/04/14(木) 09:56:41.76ID:91yoHZnRM
charに変換すると\0になるからどうやらこれが「 」にヒットしてしまうらしい?
とりあえず棚上げして他の場所を弄る事にします。
472デフォルトの名無しさん (スプッッ Sd22-WLRK)
2022/04/14(木) 10:24:14.77ID:6oGVEDEnd
"\n\n\n"が生き残るからループは必須

なにが起こってるか知りたいならtext内容の16進ダンプをループ内で出力しなよ

VisualStudioのブレークポインタ貼るだけでもいいし
473デフォルトの名無しさん (ブーイモ MM8e-wy5Z)
2022/04/14(木) 10:36:51.11ID:a0BRjs1jM
RegexのReplaceを使うんだ
474デフォルトの名無しさん (ワッチョイ 627b-yfbP)
2022/04/14(木) 11:52:27.27ID:xhb3HQTe0
>>469
再現しないし>>471の理屈もわからないけどdo whileのその形じゃないとだめなの?
https://dotnetfiddle.net/wsvKwq
あと5chでは半角スペース連続は書き換えられるから別の文字をサンプルにするか>>1のコード書き込みサイトを利用してください
475デフォルトの名無しさん (ワッチョイ 1f79-xb3m)
2022/04/14(木) 17:17:56.63ID:cTxFb1rt0
>>466
> text = text.Replace(" ", " ");
> text.IndexOf(" ") != -1

ここの処理が意味わからん
改行と同じように半角スペース2個を1個にして条件を変更するのか
半角スペースそのものを別のものに変えたいのか
476デフォルトの名無しさん (ワッチョイ 1f79-xb3m)
2022/04/14(木) 17:20:14.14ID:cTxFb1rt0
ミス
>>649だけが
> text = text.Replace(" ", " ");
半角スペース1つを1つに変更してる、だった
477デフォルトの名無しさん (ワッチョイ 1f79-xb3m)
2022/04/14(木) 17:21:19.24ID:cTxFb1rt0
あぁぁぁぁ
>>469
のミス・・・
もう寝る
478デフォルトの名無しさん (ワッチョイ df01-dH42)
2022/04/14(木) 19:24:45.24ID:4Ds/ildc0
早寝やな
479デフォルトの名無しさん (アウアウウー Sabb-qGV0)
2022/04/15(金) 10:51:24.88ID:JgjbCGpna
" " ←スペース2つ
" " ←スペース1つ
5chだからスペース消されるだけだろ
480デフォルトの名無しさん (スップ Sd02-BqLz)
2022/04/15(金) 11:37:41.89ID:0ObfuMR0d
全専ブラならちゃんと見えてるよ
481デフォルトの名無しさん (ワッチョイ df01-iXSd)
2022/04/15(金) 12:11:08.68ID:O+SsNQ0P0
天使のブラもちゃんと見えてます(*^_^*)
482デフォルトの名無しさん (ワッチョイ e201-Uyzu)
2022/04/15(金) 13:37:19.25ID:1joR/OE70
>>481
ふらっと C#,C♯,C#(初心者用) Part154 ->画像>4枚
483デフォルトの名無しさん (アウアウウー Sabb-55Lb)
2022/04/15(金) 18:49:07.37ID:ZZd0jnz9a
おまえら・・・GJ!
484デフォルトの名無しさん (ワッチョイ 1fbd-DvUi)
2022/04/17(日) 12:25:11.04ID:D0SaeSYI0
フォームアプリ作成が主体として、GW本でも読もうと思うんだけどおすすめの本ありますか?
485デフォルトの名無しさん (ワッチョイ 9779-skhS)
2022/04/17(日) 14:36:40.90ID:HNDmidds0
ない
486デフォルトの名無しさん (ワッチョイ 97ad-HCi4)
2022/04/17(日) 18:32:11.96ID:3icLqeK70
>>484
作りたいアプリを考えて実装しながら勉強が捗る
487デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 17:43:30.83ID:YFSVkBgS0
以下の例のように、プログラムに間違いがなければ絶対に到達しない箇所で例外を投げる場合、
どの例外(InvalidOperationException とか InvalidProgramException とか)を
選ぶべきか、正解のようなものはありますか?
また、特に正解がなければ、皆さんのならどうするかを教えていただけると嬉しいです。
どうぞよろしくお願いいたします。

public static string GuusuuKisuu(int x)
{
  int y = x & 1; // y は 0 か 1 にしかならない…はず

  switch (y)
  {
    case 0: return "偶数だよ";
    case 1: return "奇数だよ";
    default: throw new Exception("プログラムが間違ってるから直してね");
  }
}
488デフォルトの名無しさん (ワッチョイ 9fad-29Va)
2022/04/18(月) 18:33:00.77ID:U6PNIZM80
そもそも投げない
デバッグ目的なら例外じゃなくてその時点でメッセージボックス使って表示させるし
例外の場合、投げた例外メッセージが必ずしもユーザ(この場合はデバッグしている人)に届くとは限らないと思うし
489デフォルトの名無しさん (ワッチョイ 3702-2+F3)
2022/04/18(月) 18:45:48.82ID:CqNrq1/C0
そもそもswitchの必要ある?三項演算子で十分では
490デフォルトの名無しさん (ワッチョイ 9fad-29Va)
2022/04/18(月) 18:52:43.38ID:U6PNIZM80
いやwそこは例と言っているから重要ではない気がするがw
例えが悪いってのはわかるけどさw
491デフォルトの名無しさん (ワッチョイ 3702-2+F3)
2022/04/18(月) 19:06:40.53ID:CqNrq1/C0
絶対に到達しないって判りきってるなら、別にロジック入れんでいいんじゃないの?
その例だとdefaultを奇数だよにしてもええし
492デフォルトの名無しさん (ワッチョイ ffbb-KI6G)
2022/04/18(月) 19:08:27.71ID:8tbUw4/P0
正解はわからんけど俺ならException継承してそれ専用のクラス作るな
ぶっちゃけ既存のほにゃらかExceptionは使い所合ってるかよく分からんもの多くて困ることあるし
493デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/18(月) 19:09:08.77ID:OZ/Iewlqa
この二行だな
debug.assert(false);
throw new exception();
494デフォルトの名無しさん (ワッチョイ 7f2d-XhrW)
2022/04/18(月) 19:12:34.13ID:0xI2lblg0
>>491
もう少し質問者の意図を読もうよ…
495デフォルトの名無しさん (ワッチョイ 3702-2+F3)
2022/04/18(月) 19:14:17.23ID:CqNrq1/C0
>>494
エスパーじゃないし、知らんがな
> また、特に正解がなければ、皆さんのならどうするかを教えていただけると嬉しいです。
て書いてあるし、ワイならこうするっての書いたから別にええやろ
496デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/18(月) 19:26:38.17ID:OZ/Iewlqa
www
497デフォルトの名無しさん (ブーイモ MMbb-3xp7)
2022/04/18(月) 19:31:17.73ID:QSalzxoDM
>>495
おバカ自慢要らない
498デフォルトの名無しさん (ワッチョイ 9fad-29Va)
2022/04/18(月) 19:56:03.00ID:U6PNIZM80
上の例のようにわかりきっているコードはまあそうなんだけど“例”と言うようにわかりやすく示しているに過ぎず
極論を言えば、自分で見返してみても何このカオスな複雑怪奇でスパゲッティなコードがあってfuncの戻り値(Result)が0〜10の偶数値のみのはずだけど
funcが呼び出すfunc1からfunc10のどこかに不具合があって負数や奇数、または11以上がResultに入ってしまう可能性を否定することができない場合
とか
499デフォルトの名無しさん (ワッチョイ 9779-skhS)
2022/04/18(月) 20:04:03.76ID:TPGSz3ry0
funcXメソッドから呼ばれているメソッドはツリー状になっており
そのメソッド総数は2586個で
全部で12566個の例外を発生させうる
すごいでしょ?
500デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:12:51.97ID:YFSVkBgS0
たくさんのアドバイスどうもありがとうございます。
あまり良い例が用意できず申し訳ありません。
501デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:14:01.34ID:YFSVkBgS0
申し訳ありません。続きを書き込みたいのですが、
「レスアンカーがおかしいです」と言うエラーが出てしまっています。
502デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:15:04.45ID:YFSVkBgS0
488 様 489 様 491 様
確かにおっしゃり通りですね。
ただ、状況によってはやはり例外を投げたくなることもありまして、
それをどうやって説明しようかと考えていたところ 498 様がとてもわかり易く
まとめてくださったので、よければそちらを見ていただけると嬉しいです。

492 様
なるほど!
つまり、おそらく初めからこういう目的で用意されている例外はないだろうということですね。
最初は InvalidProgramException が丁度いいかと考えていたのですが、
詳しいクラスの説明を読むとどうやら別の目的で使われる例外のようですし、
おっしゃるとおり、自分でクラスを作るのが一番のような気がしてきました。

493 様
アドバイスどうもありがとうございます。これも良いアイディアだと感じました。
意味的には一行目だけで十分だけれど、
それだけではコンパイルが通らないから二行目も書こうということですよね。
NotNullIfNotNullAttribute ならぬ ThrowExceptionIfFalseAttribute みたいなものが
Debug.Assert に付けられていて二行目がなくてもコンパイルできたらいいのにな、
なんて妄想してしまいました。
503デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:16:06.96ID:YFSVkBgS0
エラーの原因がよくわからなかったので、
やむを得ずレスアンカーを使うのを諦めました。
読みにくくて申し訳ありません。
504デフォルトの名無しさん (ワッチョイ 9f01-0UVf)
2022/04/18(月) 20:25:50.85ID:wKhqv1yX0
まあこの手の話はあちらでも挙げられてて結局しっくりくる例外はないってことになってる
https://stackoverflow.com/questions/3313906/which-exception-should-i-throw-to-signal-an-internal-error-in-my-program
MS的には System.Diagnostics.Debug.Fail() 使えやってことなんだろうね
どうしても例外上げるなら自前でLogicErrorExceptionとかを作るのが良いと思う
505デフォルトの名無しさん (ブーイモ MMcf-m76R)
2022/04/18(月) 20:28:51.38ID:0OwrwjlVM
MS自身のコードだと、throw AssertUtil.Unreachable; みたいなのはよくあるよ
Unreachable はプロパティで、UnreachableException みたいなinternalなカスタム例外をnewして返してるだけ
506505 (ブーイモ MMcf-m76R)
2022/04/18(月) 20:39:47.71ID:0OwrwjlVM
一般に、アサーション目的で投げる例外は誤ってキャッチされる可能性の低い型であれば何でもよい
その意味では>>505のようにinternalな例外を定義して使うのが望ましいだろうね
必ずしも>>505の例のようにわざわざプロパティを定義する必要はないけど、あえてそうする理由としては
・いちいち throw new UnreachableException("No way!"); みたいにメッセージ書くのは面倒
・かといって空にすると、チームによっては静的チェックで例外にはメッセージを設定しろとか言われたりして面倒
といったところだろう
507デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/18(月) 20:39:52.66ID:YFSVkBgS0
>>504 >>505
ありがとうございます。とても勉強になります。
やはり、例外を使いたいなら自分で作る、という方針で考えたいと思います。
508デフォルトの名無しさん (ワッチョイ 9f01-0UVf)
2022/04/18(月) 21:02:38.51ID:wKhqv1yX0
>>501
「レスアンカーがおかしいです」は4つ以上のアンカーがあると出るみたい
> 488 様 489 様 491 様
みたいなのは
≫488-489,491
のように纏めたら1アンカーと解釈されたりするので工夫したらなんとかなることもあるよ
509デフォルトの名無しさん (ワッチョイ b72c-+1fN)
2022/04/19(火) 18:37:13.18ID:eV3D0rVm0
>>484
ない、っちゅうか買う必要ないだろ
今の時代ググってしらべりゃC#はほとんど見つかる
俺がプログラム関係の本買ったのははるか昔Win95の時代にC++のMSDN本2冊合わせて厚さ10cmくらいあったような
それ以降1冊も買ってない
510デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/19(火) 19:13:53.78ID:bNSjpDXdM
俺はこの類で絶対に到達しないdefaultに突入してくる不具合踏んだことあるわ。
ハードの電源ラインに特定の時間帯だけノイズはいってた。
511デフォルトの名無しさん (ワッチョイ b72f-mbkD)
2022/04/19(火) 19:51:58.01ID:x6ztzldE0
>>510
それはc#での話なのか?
cで低レベル制御とかならあり得るかもしれんが
ハード層が高度に抽象化されてる環境で起こるとは思えんが
512デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/19(火) 20:00:40.81ID:4CQfli8Qa
絶対の定義によるが、普通にあるよ
俺が遭遇したのだと電源電圧下がってUSB機器がリセットされる環境
USBもの使ってる途中で逝くものだから絶対に入らないとこに入った
513デフォルトの名無しさん (ワッチョイ 5736-XhrW)
2022/04/19(火) 20:20:45.87ID:RBfKVTUX0
>>508
ご親切にどうもありがとうございます!
…この書き込みはエラーにならないと嬉しいなあ。

>>510-512
勉強になります。
私がやってる程度のことではハードの影響を受けることはあまりなさそうですが、
私の書いたコードなら私の脳みその影響はしっかり受けますし、
慎重になるに越したことはないですね。
今回の話とは関係ないですが、
以前 C# のパターンマッチングで x is not 1 or 2 が !(x == 1 || x == 2) とは
別の意味になることに気付かずにしばらく悩み続けて、
自分の脳みそのあてにならなさにショックを覚えました。
514デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/20(水) 08:48:13.52ID:UWj+wPguM
>>511
俺もそう思ったんだけど、どうしてもわからなくて、現場に出張って異常データが生まれるまでずっと立たせてもらってて尻尾をつかんだんよ。
他の機械の動作音を「なんだこれうっせえ…」って思ったらデータ壊れてた。
で、UnreachableをAssertしたら発見できた感じ。
515デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/20(水) 08:51:45.89ID:UWj+wPguM
あいたみみきたたみちむあたたおあたまたたあまちたたたいたあいたあたたたつたなあたにとあああちきのつああああいあかおたあたあなまあおかたたたたあたななむさああ
516デフォルトの名無しさん (テテンテンテン MM8f-I9Qg)
2022/04/20(水) 12:24:18.74ID:A0C60PKcM
俺も別の機器近くにあると仕様書にないノイズ乗った想定外のデータ来てたとかあったな
517デフォルトの名無しさん (ワッチョイ 1701-Wyfp)
2022/04/20(水) 13:20:44.47ID:Ala17EyU0
ワッチョイ
518デフォルトの名無しさん (テテンテンテン MM8f-IQiQ)
2022/04/20(水) 16:31:15.00ID:K/ev14k4M
やっぱみんなあるんだなぁ。

>>515
これスマン、ケータイ勝手に動いてた。
519デフォルトの名無しさん (アウアウウー Sa1b-0UVf)
2022/04/20(水) 20:25:58.97ID:acZiDRW+a
組込機器開発してたらUnreachableは(可能ならログ採って)リスタートとかするのが普通だと思ってたが…
変なデータで処理続けるとか怖すぎる
520デフォルトの名無しさん (ワッチョイ ffda-JJ/y)
2022/04/20(水) 21:40:56.33ID:iFemtOat0
普通って何さ。
要件次第。仕様次第。
きめつけはいくない
521デフォルトの名無しさん (ワッチョイ ffbb-KI6G)
2022/04/20(水) 22:34:36.17ID:ZQEWQpWd0
スレチ
522デフォルトの名無しさん (ワッチョイ 7c33-Lpup)
2022/04/23(土) 18:34:06.64ID:lLj6XJfK0
話変わるけど、犬を抱いて散歩してる人って何が目的なの?犬も迷惑だと思うんだけど。
523デフォルトの名無しさん (ワッチョイ 6e7c-K5LU)
2022/04/23(土) 18:47:05.69ID:BoqTj/OO0
>>509
Web にはゴミ情報も多いんで、ある程度まとまっている本は有用だと思うよ。
524デフォルトの名無しさん (ワッチョイ 5e79-aRQM)
2022/04/23(土) 19:28:27.35ID:W31pcfVA0
>>522
小型犬は途中で疲れちゃって歩けなくなるので
525デフォルトの名無しさん (ワッチョイ 5e79-aRQM)
2022/04/23(土) 19:29:42.87ID:W31pcfVA0
ってここc#スレじゃん
アホかよ
526デフォルトの名無しさん (ワッチョイ 56bd-rbym)
2022/04/24(日) 14:39:09.56ID:sEyCiX8K0
>>401助けて下さい。考えては見たのですが沼にハマってます。

結果として重なってる矩形同士のアウトライン?外形線分の始点、終点座標にしてdxfにしたいんですが、2個の矩形の場合は2個比較しかないので出来ますが、複数ある場合の比較の仕方というかループの書き方が分かりません。再帰処理とか無限ループたるものになるんですかね?

矩形の斜めは存在しない左下0.0の点を基準に上と右に伸びる矩形のみで形成されたもので限定的なんですが...
527デフォルトの名無しさん (アウアウウー Sab5-mHJH)
2022/04/24(日) 15:30:02.93ID:zr61OZd6a
全ての□を4本の線に分解して、線と線の交点を求めて交点があったら1本の線を2本に分解
これで多量の線ができるから、その中点に対して□の中に含まれるかをチェックして含まれるならその線は削除
528デフォルトの名無しさん (ワッチョイ 8cbb-z20x)
2022/04/24(日) 21:10:33.16ID:0gmsp4dS0
>>403でもアドバイスしたけど
その手の処理は主にゲームプログラミングで必須の基礎技術だから
「衝突判定 総当り」とかで検索すれば類似コード腐るほど出てくる
例えばこういうコード

var list = new List<int> { 1, 2, 3 };
for(int i = 0; i < list.Count; i++)
 for(int j = i + 1; j < list.Count; j++)
  Unko(list[i], list[j]); // なんか処理
529デフォルトの名無しさん (ワッチョイ 4603-jcnE)
2022/04/25(月) 23:12:35.22ID:VfVmzpJD0
ビット演算子と論理演算子は別物という認識だったのですが、オーバーロードについてはビット演算子(&、|)をオーバーロードすれば論理演算子(&&、||)も有効になるとのことでした
この2つは内部的には同じようなことをやっているんでしょうか?
530デフォルトの名無しさん (スップ Sd02-pyRw)
2022/04/25(月) 23:29:40.07ID:tlwiDwdSd
>>529
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#11133-user-defined-conditional-logical-operators
によると、
x && y は T.false(x) ? x : T.&(x, y) と等価
x || y は T.true(x) ? x : T.|(x, y) と等価
531デフォルトの名無しさん (ワッチョイ a27c-fLUy)
2022/04/25(月) 23:42:52.24ID:OY+KUV8t0
ビット演算子の意味が分かってないという事なのかw
そもそもオーバーロードする意味ある?
532デフォルトの名無しさん (ワッチョイ 4603-jcnE)
2022/04/26(火) 00:24:31.37ID:A+s1IjyR0
どうもありがとうございました
ビット演算子の意味は分かっています
オーバーロードする意味があるかは分かりませんが、理屈を理解することは大切だと思っています
533デフォルトの名無しさん (ワッチョイ 8ecf-IHZD)
2022/04/26(火) 08:00:34.53ID:CkL0lbov0
>オーバーロードについてはビット演算子(&、|)をオーバーロードすれば論理演算子(&&、||)も有効になるとのことでした

これ、どこの情報なんだろう
534デフォルトの名無しさん (ワッチョイ 762f-dMjb)
2022/04/26(火) 11:10:52.60ID:dBVLM5lb0
そもそも
c#的には(&、|)がビット演算子で、(&&、||)が論理演算子だって理解は正しいのか?
ビット演算と論理演算は別物だが、ビット演算を論理演算とみなせる理由とか理解してなさそう
535デフォルトの名無しさん (ブーイモ MM5e-pyRw)
2022/04/26(火) 11:29:37.47ID:c8R9vZaHM
>>530の言語仕様だと、&や|は logical operator、&&や||は conditional logical operator となってるね
日本の書籍で条件論理演算子とか書いてるのはあまり見たことないけど、分かりやすくて正しい呼び方だと思う
536デフォルトの名無しさん (ワッチョイ 762f-dMjb)
2022/04/26(火) 11:58:06.02ID:dBVLM5lb0
つまり、(&、|)は論理演算子だってことだな
ビット演算子の定義はどうなってるのか知らんが

&&とかはショートサーキット演算(子)とか呼ばれることが多い気がする
まあ意味的には条件とか言われるよりわかりやすい気はする
537デフォルトの名無しさん (テテンテンテン MM34-8bcN)
2022/04/26(火) 12:13:33.97ID:r7o31+YnM
まあdocs読めで終わる話だな
538デフォルトの名無しさん (アウアウウー Sab5-mHJH)
2022/04/26(火) 12:14:42.01ID:vaJn7zoFa
&はビット演算に使えるからビット演算子でもあってるし、論理演算子でもあってる
&&はビット演算には使わないからビット演算子ではない。論理演算子ではある
539デフォルトの名無しさん (ワッチョイ ca35-JcJg)
2022/04/26(火) 12:53:41.13ID:0A8AZcPf0
翻訳の際の演算子の優先順位がネックだったりして、こういう事になってんのかね?
540デフォルトの名無しさん (ワッチョイ df36-E6ke)
2022/04/26(火) 20:24:55.48ID:SD1TZuYK0
>>530
知りませんでした。面白いですね。

仮に int.false(x) が x == 0, そして int.true(x) が x == -1 と定められていれば、
0 && ... や -1 || ... の ... の部分は評価されないということですよね?

つまり、T.true(x) と !T.false(x) が同じにはならないように
T.true と T.false を定めるのが適切なケースもある、と。
541デフォルトの名無しさん (ワッチョイ 5fbd-VGkv)
2022/04/30(土) 15:55:10.51ID:m1dCzcg60
ラベル印刷機にむけて印刷したいです。
元はエクセルシートに文字を入れて印刷してるんですが手間なんでコードで直印刷出来たらと思います。

エクセル3行分程度のものですがどこか参考になるサイト等やあればお願いします。
542デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/04/30(土) 16:10:28.65ID:0pJ/3NeQa
https://duckduckgo.com/?q=c%23+%E5%8D%B0%E5%88%B7
543デフォルトの名無しさん (スッップ Sdff-0vCZ)
2022/04/30(土) 16:47:19.78ID:pnty395wd
あるフォルダ配下の使用サイズを取得したいのですが、
C/C++でやる場合はFindFirstFile/Nextを使いますが、
C#でやる場合でpinvokeより良い方法がありましたら教えて下さい
544デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 16:52:12.05ID:QtDBeglS0
System.IO.Directory
545デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 16:55:40.01ID:QtDBeglS0
途中で送っちまった
System.IO.Directoryでファイル列挙して、FileInfoで個別にサイズ取ればいいと思う
546デフォルトの名無しさん (スッップ Sdff-0vCZ)
2022/04/30(土) 16:57:06.01ID:pnty395wd
>>545
ありがとうございます。調べてみます。
547デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 17:01:42.36ID:QtDBeglS0
System.IO.DirectoryInfo.GetFilesでFileInfoの配列取れるから、こっちの方がいいかもしれない
548デフォルトの名無しさん (ワッチョイ 7f7b-RBic)
2022/04/30(土) 17:01:51.55ID:UlkSGa+10
>>543
dobonに.>>545そのままのサンプルがある
フォルダのサイズを取得する
https://dobon.net/vb/dotnet/file/foldersize.html
549デフォルトの名無しさん (ワッチョイ ff2d-ae4c)
2022/04/30(土) 17:08:48.46ID:Rn5KMVQ50
System.IO.DirectoryInfo.GetFiles()/GetDirectories()は大量にファイルがある場合は時間がかかるから
.Net4以降で追加されたSystem.IO.DirectoryInfo.EnumerateFiles()/EnumerateDirectories()を推奨
550デフォルトの名無しさん (ワッチョイ ff2d-ae4c)
2022/04/30(土) 17:15:01.96ID:Rn5KMVQ50
語弊があるな
後者でもトータルで時間がかかるのは変わらないけど
1エントリ毎に処理が戻ってくるので中断出来たり使い勝手が良い
551デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 17:18:25.88ID:QtDBeglS0
知識がアップデートされてないので勉強になったわ
552デフォルトの名無しさん (ワッチョイ a7b3-eox6)
2022/04/30(土) 17:59:15.13ID:wYb1/zTY0
test
553デフォルトの名無しさん (ワッチョイ c7ad-6Jp9)
2022/05/01(日) 15:32:28.03ID:ixMLKEzz0
Rxの質問なんですが

var s = new Subject<int>();
s.OnNext(1);
s.OnCompleted();
s.OnNext(2);

s.Subscribe(
x => { Console.WriteLine($"{x} is recieved"); },
(Exception ex) => { Console.WriteLine($"{ex.Message}"); },
() => { Console.WriteLine($"done!"); }
);

としたときに、OnNext(1)もOnNext(2)も表示されないのはあとからSubscribeしたからと思ってるのですが
OnComplete時のメッセージが表示されるのはなぜなのでしょうか?
554デフォルトの名無しさん (ワッチョイ e7da-JMFP)
2022/05/01(日) 15:36:19.91ID:94nN4BqC0
OnCompletedを呼んでるからだろ。
555デフォルトの名無しさん (ワッチョイ 872c-6Jp9)
2022/05/02(月) 07:06:11.56ID:UmbbW6hU0
Ruby でも、WIN32OLE, COM で、Office, iTunes, Illustrator や、WMI, WshShell を使えるみたい

def print_folder_size( folder_obj )
hr = "-" * 30
puts hr, File.expand_path( folder_obj.path ) # \ を、/ に変換する

puts "#{ folder_obj.name } : #{ folder_obj.size }"
end

require 'win32ole'

fso = WIN32OLE.new( 'Scripting.FileSystemObject' )
p WIN32OLE.codepage #=> 65001, UTF-8

folders = [ "C:/Users/Owner/Documents/abc",
"C:/Users/Owner/Documents/xyz" ]

folders.each do |folder|
folder_obj = fso.GetFolder( folder )
print_folder_size( folder_obj )
end
556デフォルトの名無しさん (スップ Sd7f-TUas)
2022/05/02(月) 15:56:47.65ID:KyVl3u/Hd
>>555
Ruby馬鹿は死ね
557デフォルトの名無しさん (ブーイモ MM8f-nYhx)
2022/05/02(月) 20:09:02.84ID:V0OGcW/iM
PrintPreviewControlとPrintDocumentを使っているんだけど
PrintPreviewControlでプレビューされている結果をそのまま印刷できる事って出来ないのか?

PrintDocumentでの処理がプレビューと印刷でそれぞれ処理が走ってしまう…
558デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/02(月) 20:17:53.84ID:NkpvUQl1a
処理でbitmapを作って、そのbitmapだけを使ってプレビューや印刷?
559デフォルトの名無しさん (ブーイモ MM8f-nYhx)
2022/05/02(月) 20:48:24.52ID:nadSqlqnM
見たいな感じですね
print document内でGraphicsを使って座標を指定して
文字を書いたり線を引いたりしてます
560デフォルトの名無しさん (ワッチョイ df8b-Nh0L)
2022/05/04(水) 22:31:55.43ID:FIPACptZ0
DataGridViewでDataTableに割り当てていない時にも空行があるのですが
これなんとかならいないでしょうか?

DataSourceに指定したらレコードが表示される様にしたいです。
561デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/05/04(水) 23:17:30.75ID:7711bQHg0
AllowUserToAddRows=false にすれば出ないけど、そういう話ではなく?
562デフォルトの名無しさん (ワッチョイ df8b-Nh0L)
2022/05/05(木) 10:14:01.55ID:ShoXS+HP0
>>561
ありがとうございます!それでした!!
563デフォルトの名無しさん (ワッチョイ 67ac-c3mi)
2022/05/05(木) 11:42:19.70ID:hnbkSlrb0
いえいえ
564デフォルトの名無しさん (ワッチョイ 5fbd-p823)
2022/05/06(金) 18:21:26.56ID:WzpSzG4l0
visual Studioの無料版ダウンロードして遊んでるんですが、PointF[]の中に入ってるXの値とYの値をソートしたいんですが、Xをソートして次にYをソートしたいです。
565デフォルトの名無しさん (ラクッペペ MM8f-1Uqa)
2022/05/06(金) 18:25:06.51ID:/l3VuTiCM
>>564
あなたが何をしたいのか理解不能です
もう一度入力してください
566デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 18:37:03.45ID:Pyn2b+Aza
どうせX優先でソートしたいってことだろ。この程度理解してやれよ
Array.Sort(aa, (a, b) =>
{
if (a.X == b.X)
return a.Y - b.Y;
return a.X - b.X;
});
みたいな感じにすればいい。ただしfloatだからこのままだとエラーになる +1 -1 0 をreturnするように
567デフォルトの名無しさん (スッップ Sdff-LGrz)
2022/05/06(金) 21:18:01.61ID:TntjE3ffd
PointFでそれはおかしいだろ
浮動小数点数同士を単純に==で比較するのは殆どの場合において誤り
568デフォルトの名無しさん (ワッチョイ 7fcf-hGrh)
2022/05/06(金) 21:30:18.36ID:NMYx4eAj0
この場合は==で問題ないように思うが。
569デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 21:53:53.93ID:Pyn2b+Aza
==だと例えば座標(1,1)と(1,2)のどっちが先になるか分からない
570デフォルトの名無しさん (ワッチョイ df79-7Nr3)
2022/05/06(金) 22:09:32.98ID:TUkwoEaL0
誤差が出るような値の比較は両辺を正規化しないとダメ
571デフォルトの名無しさん (アウアウウー Saab-nj6J)
2022/05/06(金) 22:23:04.14ID:8H68TfoTa
>>569
昇順だと仮定して(1,2),(1,1)の順になる理由をあげてくれ
572デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/05/06(金) 22:27:09.34ID:AMfb+Q8N0
前提が示されていない以上、別にそこまで考慮する必要なくね
丸めが必要なら、前処理しておけばいい
573デフォルトの名無しさん (ワッチョイ 7fcf-hGrh)
2022/05/06(金) 22:35:58.25ID:NMYx4eAj0
>>570
ここで言ってる「正規化」って浮動小数表現上の正規化/非正規化とは別だよな。
ふつう高級言語レベルで意識する必要はないと思うが。
574デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 22:36:12.23ID:Pyn2b+Aza
>>571
もちろんジャスト(1,2)と(1,1)だったら逆転しないよ・・・
(1-δ,2),(1+δ,1)のように誤差があるとき逆転する
575デフォルトの名無しさん (アウアウウー Saab-nj6J)
2022/05/06(金) 22:39:13.08ID:9Z37knUna
>>574
いきなり後出し条件出されて笑う
576デフォルトの名無しさん (ワッチョイ 872f-U5op)
2022/05/06(金) 22:45:04.84ID:YHAWRmCh0
つかLinqで
.OrderBy(p => p.X).ThenBy(p => p.Y)
で良いんじゃないか
577デフォルトの名無しさん (ワッチョイ 872f-U5op)
2022/05/06(金) 22:54:52.86ID:YHAWRmCh0
>>574
それは1じゃないものを1と書くからそう見えるだけで
1-δ,<1+δなのだから
実際には逆転などしていないと思うんだがな
578デフォルトの名無しさん (アウアウウー Saab-QTrz)
2022/05/06(金) 22:56:38.59ID:Pyn2b+Aza
floatの話なんだから後出しでもなんでもなく当たり前じゃん。そのくらい察してくれよ
579デフォルトの名無しさん (アウアウウー Saab-nj6J)
2022/05/06(金) 23:10:14.04ID:/xoCkKVPa
>>578
で、それの何がまずいんだ?
表示の話とごっちゃにしてるだけだろ
580デフォルトの名無しさん (ワッチョイ 7fbb-QBNI)
2022/05/06(金) 23:23:12.31ID:vot/okCP0
誤差だろうがなんだろうが厳密なソートなら==で充分だろ
質問者がどこまで考えてるかわかんねーのにお前らが推測でグダグダ言ってたって不毛なだけ
581デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/05/06(金) 23:24:19.96ID:AMfb+Q8N0
ほんとそれ
582デフォルトの名無しさん (ワッチョイ 6a02-xR/W)
2022/05/07(土) 02:59:34.72ID:w70N7Moq0
ソートの話で炎上してるみたいだけどさ
そうっとしておいてやれよ
583デフォルトの名無しさん (ワッチョイ 33ad-jtXU)
2022/05/07(土) 08:22:33.50ID:5zcnkXK50
差分が閾値内であればイコールでよくね?
584デフォルトの名無しさん (アウアウウー Sa1f-cwrN)
2022/05/07(土) 08:44:25.70ID:knFaNk5Ia
>>583
それは要件次第だから判断できるのは質問者だけ
585デフォルトの名無しさん (ワッチョイ becf-HkNE)
2022/05/07(土) 09:19:57.56ID:kBo/c16T0
>>583
そこに範囲を持たせてしまうと順序が逆転する可能性があるから正しいソートにならないだろ。
586デフォルトの名無しさん (ワッチョイ 9f02-HkNE)
2022/05/07(土) 11:13:36.12ID:313oEtJ80
まーだやってんのか
質問者の聞いてるのはソートの仕方だけで、どういうデータを扱うかすら提示されてないんだから
そこに誤差ガー範囲ガーだの考慮する必要はない
587デフォルトの名無しさん (ワッチョイ 6a02-xR/W)
2022/05/07(土) 11:59:50.21ID:w70N7Moq0
ソートの話で炎上してるみたいだけどさ
そおっとしておいてやれよ
588デフォルトの名無しさん (ワッチョイ 26bc-/AKQ)
2022/05/07(土) 12:41:21.52ID:JO0+xntF0
お。ちょっと改良したのか、そのダジャレ。w
589デフォルトの名無しさん (ワッチョイ 4ede-0BEs)
2022/05/07(土) 15:40:54.13ID:jfGefHE20
>>582
>>587
590デフォルトの名無しさん (スップ Sd2a-uM1l)
2022/05/07(土) 18:18:59.39ID:yxSWV8Wsd
>>527
>>528
無事GW中に出来ました!感謝です。ありがとうございます。
591デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 00:36:52.25ID:19hEeZmX0
VisualStudio 2019の<Nullable>enable</Nullable> 環境で、変数のツールチップにString型の時だけ「ここではxxxはnullではありません」と表示されるんだけど
これって最新の2022では直っていたりしますか。

ふらっと C#,C♯,C#(初心者用) Part154 ->画像>4枚

おかしいのはツールチップだけで、nullableの判定は問題ない感じ。
longとかDateTimeとか色々試したけど、String型だけで表示された。なんで。
592デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 00:41:15.00ID:9MG0SRykM
int?はnullにはならないから
593デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 01:02:19.98ID:19hEeZmX0
え、値型ってそういう事だったの と思って以下のコードで確認したら==null がtrueになっていました

int? a = null;
if(a == null) {
Debug.Print($"a is null"); // こっちになる
} else {
Debug.Print($"a=[{a}]");
}

int? がnullになっているように見えるのですが、もう少しアドバイスを頂けますでしょうか。
594デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/08(日) 01:13:17.58ID:YmLuYmO0a
よくそんな細かいところに気づいたな
vs2022(preview)でもツールチップ表示同じ
int?はnullになるよ。?ついてたらnull許容型だから入らなかったら困る

string? a = "nullでなく文字列";
string? t(string? v) => v;
var b = t(a);
var _ = b.GetType();
ついでにこんなのだとbは絶対にnullにならないけど緑の波線つく
その程度の一次的な解析しかしてない機能だから不具合を気にしたら負けだよ
595デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 01:34:49.43ID:19hEeZmX0
ありがとうございます。ツールチップだからそんなものか。
と、思ったらロジックでも不明点がありました。

以下のコードでIsIntがエラーになるのですが、これもそういうものなのでしょうか。
if文で非nullチェックをしても、型としてはint?だから IsInt(int v) は呼べない。という事は分かるのですが、
string?はifで非nullチェックをすると string 扱いになるので挙動が違うのですが、これもそういうものなのでしょうか。

void IsString(string v) { };
void IsInt(int v) { };
string? a = null;
if(a!=null){
IsString(a);
}
int? b = null;
if(b!=null){
IsInt(b); // 引数 1: は 'int?' から 'int' へ変換することはできません のエラーが出る。
}

↑両方通るか、両方エラーが出るならわかるけど 値型だけエラーが出る?
596デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 03:01:32.74ID:9MG0SRykM
int?の正体はNullable<int>という値型
構造体はnullにはならない
まるでnullのように見せかけているだけ

int?x=null;
x.ToString();

これは一見するとヌルポだがnullじゃないのでこれは通る
nullにならない値型なのでいちいちこの場所ではnullになりませんとは言わない

x.GetType();
はヌルポになる
なぜか?
GetTypeの呼び出しはobjectへのbox化のあとに行われる
nullのように見えているだけのxはbox化されて本物のnullになる
GetTypeを呼んでるところだけ本物のnullになってるのでIDEは正確に警告を出す
597デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 03:42:17.44ID:9MG0SRykM
int?は値型なのでnullにはならない
なのでいくらnullチェックをしても状況が変わるわけがない
nullにならないint?のnullチェックをしたってそれはint?のままだ
Nullable<int>はNullable<int>のままだ
intからint?は暗黙に変換できる
int?からintは暗黙に変換できない
そういうことになっている
だからIsInt(x)は呼び出せない

8.0で追加された機能の名称にnull許容参照型って書いてあるだろう
Nullable<>は参照型ではなく値型だ
こいつは2.0から存在する
構文が似ているが別の体系の機能なのだ
598デフォルトの名無しさん (ワッチョイ dabd-pKa3)
2022/05/08(日) 04:04:06.14ID:19hEeZmX0
ありがとうございます。
599デフォルトの名無しさん (ワッチョイ 6a79-pMfC)
2022/05/08(日) 09:32:20.59ID:wSAz/RiZ0
>>596
>int?の正体はNullable<int>という値型
>>597
>8.0で追加された機能の名称にnull許容参照型って書いてあるだろう
>Nullable<>は参照型ではなく値型だ
>こいつは2.0から存在する
>構文が似ているが別の体系の機能なのだ

混乱してきた
int?の正体はNullable<int>という値型でNullable<>は2.0から存在するが
8.0のint?は参照型で別の体系の機能なのだ???
600デフォルトの名無しさん (オッペケ Sr33-TWCy)
2022/05/08(日) 09:37:05.34ID:BtCX9i6lr
日曜なのに頭使わせないでくれ
601デフォルトの名無しさん (ワッチョイ 6a02-xR/W)
2022/05/08(日) 09:38:55.11ID:nSqurBAP0
キーボードを頭で叩くのはあなたくらいのものですよ、ジョン
602デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/08(日) 10:53:37.27ID:9MG0SRykM
>>599
8.0から入ったのは参照型のnull許容
603デフォルトの名無しさん (ワッチョイ 9f5f-HNGk)
2022/05/08(日) 12:05:58.50ID:EI0IYkD90
int?(値型+?)は「null許容値型」で昔からあるもの
int?と書くとNullable<int>という、int型とは違う型になる

そしてNullable<int>は値型なのでnullは入らない
なので int? hoge = null; はhoge自体がnullになるわけじゃなくて hoge.HasValue = false という意味だし
if(a == null) は if(!a.HasValue) という意味になる
これは8.0でも変わってないよ

8.0から追加された<Nullable>enable</Nullable>環境で書けるような
string?(参照型+?)は「null許容参照型」になる
といってもstringとstring?は型としては全く同じもので、?付きは内部で「nullを入れてもOK」という注釈が付くところが新機能
(string? fuga = null; はfuga自体にnullが入る)

あと>>591 の件は確かにnull許容参照型(string?とか)とnull許容値型(int?とか)でツールチップの中身変わるねえ
Visual Studio 2022でも同じ表示になってる
上にあるようにint?自体はnullにならないからなんだろうけど…
int?のようなnull許容値型でもstring?と同じように
「ここではnullではありません / nullの可能性があります」のツールチップ出たほうが親切な気はするけど、現状の仕様かな
604デフォルトの名無しさん (ワッチョイ 6a79-pMfC)
2022/05/08(日) 17:27:05.38ID:wSAz/RiZ0
>>602-603
要するに元々ある微妙な機能の仲間に8.0で新規に参照型が加わりましたってことね
解説ありがとう
605デフォルトの名無しさん (アウアウウー Sa1f-cwrN)
2022/05/08(日) 18:05:15.31ID:UPzKXd6Ja
むしろNull非許容の参照型が追加されたと考えた方が良くね?
606デフォルトの名無しさん (ワッチョイ 6a79-hvpo)
2022/05/08(日) 21:58:40.09ID:v1Rjt/F60
どうでもいい機能たくさん付ける割には

理想の設計書
→理想のソースコード

が見えない
クソな単体テスト機能をIDEに実装したが
じゃあ

理想の設計書
→理想のソースコード
→理想の単体テスト

はどういう想定でオメーは
どの範囲をカバーするんだよ

ってのも見えない
各リリースで追加してる機能に
何の思想も感じない
ごった煮にした挙げ句
上記パラダイムに結論を出した
言語が出てきたら一瞬で消えそう
607デフォルトの名無しさん (ワッチョイ 3ebb-0tmp)
2022/05/08(日) 23:47:37.01ID:3rY+TRy60
ないものねだり
608デフォルトの名無しさん (ワッチョイ 73d2-cV1q)
2022/05/08(日) 23:56:17.29ID:21iaPdPG0
Struct? → System.Nullable<Struct>
Class? → [System.Runtime.CompilerServices.NullableAttribute(2)] Class
のように完全な別物を同じような書き方で表現している

classのほうはnullチェックをしたかをコンパイラが追いかけるためだけの後付け機能だからstructとは若干挙動が違う
609デフォルトの名無しさん (オイコラミネオ MM9b-PvPk)
2022/05/09(月) 23:37:03.36ID:R3P7osGRM
どんどんシンタックスシュガー系の機能が増えてイミフになっていく
610デフォルトの名無しさん (ワッチョイ 6a79-hvpo)
2022/05/10(火) 01:41:06.09ID:DufV+Aa+0
検索かけてもググれない機能が増えていく一方だな
611デフォルトの名無しさん (ワッチョイ 6a79-hvpo)
2022/05/10(火) 01:44:43.79ID:DufV+Aa+0
1つの処理に複数の表現方法がありすぎるのもクソ化に拍車をかけている
612デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/10(火) 02:40:13.83ID:eFgarx/HM
まあでもTypeScriptよりだいぶマシだよ
613デフォルトの名無しさん (オイコラミネオ MM9b-PvPk)
2022/05/10(火) 22:19:58.08ID:1A7PmF6XM
と思うだろ?

今ライブラリに対してとてつもないことが進行中だよ
614デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/10(火) 22:29:09.92ID:e+qIs2vlM
気になるね
具体的に教えて
615デフォルトの名無しさん (ワッチョイ 3ebb-0tmp)
2022/05/10(火) 23:02:26.59ID:A0speGA90
kwsk
616デフォルトの名無しさん (ワッチョイ 7e33-SYw5)
2022/05/10(火) 23:24:53.56ID:Qwl7JHFX0
var middle = array[1..^1];
なんて使ってる人いるのか?
617デフォルトの名無しさん (ワッチョイ 2301-efkZ)
2022/05/11(水) 02:40:00.42ID:mFmc3Ge/0
GetPixel/SetPixelが1万倍速くなるみたいなライブラリの変更をお願いします
vsyncを簡単に待てるとか、キャプチャデバイスから簡単に画像取れるとかもください
618デフォルトの名無しさん (オッペケ Sr33-TWCy)
2022/05/11(水) 10:14:45.90ID:sDHFf5J4r
c++でやってください
619デフォルトの名無しさん (ワッチョイ 7e68-YKh1)
2022/05/11(水) 10:22:15.42ID:dGpPRwJ20
>>617

描画周り強化なら、monogameはどう?
620デフォルトの名無しさん (ワッチョイ 7e68-YKh1)
2022/05/11(水) 10:23:05.23ID:dGpPRwJ20
キャプチャーデバイスには対応して無いだろうけど。
621デフォルトの名無しさん (テテンテンテン MMe6-j2Xi)
2022/05/11(水) 12:18:59.28ID:hFfrzzscM
Unityでよいのでは
622デフォルトの名無しさん (ワッチョイ eb59-WSJ3)
2022/05/15(日) 18:48:30.98ID:i4qpjDO10
ガウス分布のグラフ作成が上手くいかない。
623デフォルトの名無しさん (ワッチョイ eb02-lIli)
2022/05/15(日) 18:59:10.68ID:TrHVwgsx0
そっかー
624デフォルトの名無しさん (ワッチョイ ffbb-KWzm)
2022/05/15(日) 20:47:21.71ID:BkxqnCJx0
pythonでやれば?
625デフォルトの名無しさん (ワッチョイ 9aad-5qYK)
2022/05/21(土) 04:43:04.06ID:O2gJaEXQ0
最近趣味程度でC#をいじりだしたガチの入門者なんですが
PCで3秒ごとにコピペ貼り付けを自動で繰り返すアプリを作ったのですがそれをAndroidでも使えるようにしたいです
どうすればいいでしょうか?
626デフォルトの名無しさん (ワッチョイ 9aad-lbcJ)
2022/05/21(土) 05:33:52.62ID:O2gJaEXQ0
アプリってレベルでもない…20行程度で作れるやつなんですが
627デフォルトの名無しさん (ワッチョイ 0e33-DXWN)
2022/05/21(土) 08:28:07.07ID:3/0PZoxh0
>>625
どうしてもC#が使いたいなら、XamarinやMAUIやUnoなどのプラットフォームを使う。ただし人脈が無いと無理な場合もある。
628デフォルトの名無しさん (オッペケ Srbb-7F2T)
2022/05/21(土) 08:41:16.91ID:cedrosp1r
20行ならjavaかkotlinで作ればいいじゃん
わざわざc#を無理やりAndroidで動かそうとするな
629デフォルトの名無しさん (オイコラミネオ MMe3-eugl)
2022/05/22(日) 00:42:25.12ID:1mUE50i3M
>>625
前にも同じようなレス見たな…

5chあらし目的ならやめとけと書いたけど
630デフォルトの名無しさん (ワッチョイ f6d5-5qYK)
2022/05/22(日) 07:09:57.17ID:tnNB3SRb0
>>628
スマホ用のアプリはjavaかkotlinって言語じゃないと出来ないんですね
そんなことも言われなきゃ分からないレベルでしかプログラミングしたこと無いんですが・・
ツールはSendKeysを2つ使っただけの本当に簡易的なもんなんだけど言語変えて直ぐに出来るかな
631デフォルトの名無しさん (オッペケ Srbb-7F2T)
2022/05/22(日) 08:04:54.67ID:v7ITkvCgr
>>630
調べればできるからやれ
プログラミングやったことないなんて言い訳なんかどうでもいい
632デフォルトの名無しさん (オイコラミネオ MMe3-eugl)
2022/05/22(日) 10:07:47.74ID:1mUE50i3M
androidってそもそも他のアプリにキー送信できんやろ
633デフォルトの名無しさん (ワッチョイ 9a79-7eBL)
2022/05/22(日) 10:12:10.33ID:+lLn8FyC0
>>632
そのへんもやってみればわかること

そういうのめっちゃ回避してキーを別アプリに送ろうとしたけど
やった次の日に対策されてたから
監視でもしてんのかってぐらい見張ってるのがAndroid
634デフォルトの名無しさん (オイコラミネオ MMe3-eugl)
2022/05/22(日) 10:17:50.56ID:1mUE50i3M
おーい!見てるか?

やってるやつ見つけてやったからな!
635デフォルトの名無しさん (スッップ Sdba-LV0m)
2022/05/22(日) 10:37:36.27ID:gh/jHZoOd
いつも見ているぞ
636デフォルトの名無しさん (ワッチョイ 2702-SjAR)
2022/05/22(日) 10:59:44.81ID:7HW4nX7o0
>>630
クロスプラットフォームなライブラリもあるけど、結局そのOS毎の独自処理をラップしてるだけだから
OS毎の知識は必要になる
本当にガチ初心者なら、多分上手く扱えないと思う
637デフォルトの名無しさん (ワッチョイ 9a79-MYiA)
2022/05/22(日) 21:23:37.11ID:RDTYjvSl0
HIDとして振舞えば何でもできる
詳細は自分で考えようね
638デフォルトの名無しさん (ワッチョイ cebb-8jyA)
2022/05/22(日) 21:59:10.64ID:8lGG73uH0
初心者相手にマウントキモティ〜w
639デフォルトの名無しさん (アウアウウー Sac7-rsxO)
2022/05/26(木) 18:01:21.42ID:qpPkK1xsa
スマホでわかりやすいアプリなどあったら教えて欲しいですガチの初心者ですお願いします
640デフォルトの名無しさん (ワッチョイ 8b01-DXWN)
2022/05/26(木) 18:18:02.76ID:2vYtdgJ20
スマホでわかりやすいアプリの意味がわかりにくい
641デフォルトの名無しさん (スップ Sdba-LYQt)
2022/05/26(木) 19:14:23.06ID:nH+V7kdJd
>>639
10年早いんだよっ!
642デフォルトの名無しさん (ワッチョイ 1aad-mUFz)
2022/05/27(金) 05:58:20.19ID:vU3ymITD0
>>639
C#の学習ができるアプリってこと?
643デフォルトの名無しさん (アウアウウー Sac7-cng7)
2022/05/27(金) 08:35:21.08ID:HeO6HGVia
先ずは質問の仕方を覚えよう
644デフォルトの名無しさん (ワッチョイ 8b01-sqz1)
2022/05/27(金) 09:39:02.35ID:TsOq3zA+0
MAUIに手を出すのです。(亜熊之囁)
645デフォルトの名無しさん (ワッチョイ 4e63-pPWi)
2022/05/27(金) 10:09:16.78ID:upR3ZiUo0
大丈夫だMAUIは半年は持つ
646デフォルトの名無しさん (テテンテンテン MMb6-2jz5)
2022/05/27(金) 11:09:10.42ID:AyFDmHhmM
MAUIはまだ早いw
647デフォルトの名無しさん (ワッチョイ 97f6-8jyA)
2022/05/27(金) 11:11:07.62ID:S0cy91Tb0
MAIUはうまくない
648デフォルトの名無しさん (アウアウウー Sac7-Gb/p)
2022/05/27(金) 15:24:36.89ID:bhPyvv2Sa
MUIに変わってなかったっけ
649デフォルトの名無しさん (ワッチョイ f954-wXOB)
2022/05/28(土) 02:08:34.29ID:R+G9ucnv0
Blazor Desktop Appsでいいわ。
650デフォルトの名無しさん (ワッチョイ f101-wXST)
2022/05/28(土) 10:33:31.92ID:qp7uj3Un0
MemoryStreamの中身を一括でファイルに保存したいのですが、
何を使えばいいですか?
一旦byte配列に読んでFileStreamに渡すのも無駄な気がします
651デフォルトの名無しさん (ワッチョイ 2b2c-2OYr)
2022/05/28(土) 10:58:05.60ID:81XaDMLN0
memstream.CopyTo(fstream);
652デフォルトの名無しさん (ワッチョイ f101-wXST)
2022/05/28(土) 12:24:53.28ID:qp7uj3Un0
ありがとうございます、うまくいきました
結局内部で一旦バッファにコピーしてるみたいですね
653デフォルトの名無しさん (ワッチョイ 5163-8tbX)
2022/05/28(土) 15:57:18.22ID:hZokRc+F0
つーかファイルなんてFILE_FLAG_NO_BUFFERINGで開いてないとそこでもバッファリングされるのにな
何重バッファする気だよ
654デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/05/28(土) 18:20:37.25ID:SjKCMIOA0
MemoryStream.GetBufferして、FileWriteAllBytesでいいのでは
655デフォルトの名無しさん (ワッチョイ 9324-sxTc)
2022/05/29(日) 10:49:50.42ID:8UALCrP60
MemoryStream.GetBufferを使う場合は長さはそれで受け取ったバイト配列の長さではなくMemoryStream.Lengthを使うこと
そもそも.NETCore系統だとGetBuffer使えなかった記憶あるけど
656デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/05/29(日) 11:11:16.48ID:KBwAngU30
普通に使える
最近バイナリデータ書き換えプログラムに使ったばっかだし
657デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/05/29(日) 11:15:25.56ID:KBwAngU30
書き出しについては適当に言ったので、MemoryStream.Length 使うのが正しいってのはそっちが合ってる
658デフォルトの名無しさん (スップ Sdb3-2THJ)
2022/05/30(月) 13:14:48.95ID:1VsWJmNVd
明日からgmailがOAuthに非対応のメールソフトからのアクセスを拒否るそうなんで
何か話題でてるかな~と思ったけど、上の方でちょっと触れてる人がいる程度だった

1年前に作って大活躍してるgmail受信用ソフトに手入れないといけないんで頑張ってきます
Mailkitというライブラリがよさそうなので試してみようかと。
659デフォルトの名無しさん (ワッチョイ f101-Ro4k)
2022/05/30(月) 13:17:31.70ID:rfreZDJQ0
そうですか
660デフォルトの名無しさん (スップ Sdb3-2THJ)
2022/05/30(月) 13:18:42.88ID:1VsWJmNVd
えへへ^^
661デフォルトの名無しさん (スップ Sdb3-2THJ)
2022/05/30(月) 14:26:30.25ID:1VsWJmNVd
Mailkitは送信用で受信用ではなかったのでした・・・今気づいた・・・
662デフォルトの名無しさん (ワッチョイ 518e-95+F)
2022/05/30(月) 14:42:01.68ID:IYsp/3270
えっ
663デフォルトの名無しさん (スップ Sdb3-2THJ)
2022/05/30(月) 14:58:39.86ID:1VsWJmNVd
いや、ちがう・・・・
この辺かなり奥が深いことに気づきましたよ
勉強してきます
664デフォルトの名無しさん (アウアウウー Sac5-2OYr)
2022/05/30(月) 15:26:01.26ID:Z6OL71NLa
>>658
世界中で阿鼻叫喚の悪寒
665デフォルトの名無しさん (ワンミングク MMd3-uiIk)
2022/05/30(月) 17:06:49.52ID:7XaRbxqTM
アプリパスワードではアカンのか?
666デフォルトの名無しさん (スップ Sdb3-2THJ)
2022/05/30(月) 18:13:36.30ID:1VsWJmNVd
OAuthとはなんぞやから始まってなんとなく理解した上で
Google.Apis.Gmail.v1 を入れてみた
トークンゲットして送信するところまででけた
受信はまた今度・・

アプリパスワードも一応取得して見たけど、よく分かってないです
mailkitでアプリパスワードを使った送信コードをみたんですけど
これはOAuth導入後も使えるのか・・・?と疑問に思うところであります


とりあえず今作ってるのは受信専用のソフトなんで受信にたどり着きたい
667デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/05/30(月) 18:37:25.23ID:HZFJKzDU0
日記なら自分のSNSにでも書いとけ
668デフォルトの名無しさん (ワッチョイ 9324-sxTc)
2022/05/30(月) 19:50:50.31ID:EyJ2h+7M0
ここはお主の日記帳だから好きに続けよ
669デフォルトの名無しさん (ワッチョイ 3978-yO3c)
2022/05/30(月) 19:54:41.05ID:RioIt3yZ0
日記帳として使うんならNGするからコテハン名乗ってくれ
670デフォルトの名無しさん (ワッチョイ a173-CNTg)
2022/05/30(月) 20:45:14.00ID:zhESDE1t0
C++ でいうところの
typedef unsigned int Uint32;
これをC#で実現できないか試行錯誤してます

namespase hogeType
{
using Uint16 = System.UInt16;
//他省略
}
として利用したいソースで
using hogeType;
として使えるんじゃないかと期待していたのですがダメでした

「型を使いたいソースの上の方にusingエイリアスで定義する」以外では無理なんでしょうか?
671デフォルトの名無しさん (ワッチョイ 932c-jfEb)
2022/05/30(月) 21:52:37.44ID:bWvWMmvf0
うん、無理
C# 10ならglobal usingでプロジェクト全体に利かすことはできるけど嫌がる人も多そうだね
672デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/05/31(火) 08:24:30.97ID:ho7yuOvY0
C、C++ソースの移植でもやってるのかな?
673デフォルトの名無しさん (ワッチョイ a173-CNTg)
2022/05/31(火) 09:01:26.22ID:t3DPXrZg0
>>671
ありがとうございます
やっぱり無理ですかー…

>>672
そんな感じです
ちょっとした手伝いなので詳細は聞けてないですが
674デフォルトの名無しさん (ワッチョイ 5b66-L+Mk)
2022/05/31(火) 09:09:11.04ID:Y29xz3us0
諸兄はlog4netの後継に何を使ってますか?
675デフォルトの名無しさん (ワッチョイ 49da-DhoR)
2022/05/31(火) 09:48:51.84ID:o2L0N9Ru0
nlog一択だろぉ
676デフォルトの名無しさん (オイコラミネオ MM9d-rAsz)
2022/05/31(火) 09:55:22.83ID:sdnM1kD2M
microsoft extensions logging
loggerにあんまこだわりない
677デフォルトの名無しさん (ワッチョイ 49e3-VwMx)
2022/05/31(火) 12:25:48.88ID:Fr/UrQvj0
log4net開発止まってまた再開してなかったけ
また止まったの?
678デフォルトの名無しさん (ワッチョイ 5b66-L+Mk)
2022/05/31(火) 15:05:10.88ID:Y29xz3us0
log4はやらかしがあったので敬遠気味なのです
679デフォルトの名無しさん (ワッチョイ 396a-0J0j)
2022/06/01(水) 17:00:30.18ID:MGwSCz5P0
visual studio 2022
デバッグ結果がコマンドプロンプトに表示されなくなりました
助けて
680デフォルトの名無しさん (スップ Sdb3-95+F)
2022/06/01(水) 17:06:20.10ID:SQbNCGaTd
「助けて」と質問を書く奴は間違いなく真正馬鹿
681デフォルトの名無しさん (ワッチョイ 2bbb-2OYr)
2022/06/01(水) 17:39:44.43ID:YO9fREa30
具体的なコードとかプロンプトは表示されるのかとか
詳細書かないやつって聞く気あんの?
VS再インスコでもしてろ
682デフォルトの名無しさん (アウアウウー Sac5-G2Bm)
2022/06/01(水) 17:50:01.12ID:+trdaPAta
質問者あるある
1.エラーメッセージを描かない(読まない)
2.何もやってないのに可笑しくなりました(やってるよ)
3.何がしたいのかどうなって欲しいのかを言わない
683デフォルトの名無しさん (ワッチョイ 3978-yO3c)
2022/06/01(水) 22:28:32.81ID:MFrVRq5X0
4.自己解決した時に解決方法を書かない
684デフォルトの名無しさん (ワッチョイ 0bde-/Gxc)
2022/06/01(水) 23:15:55.70ID:fQkXT2Tt0
助けて
685デフォルトの名無しさん (アウアウウー Sac5-G2Bm)
2022/06/02(木) 11:01:22.99ID:MPFVtYTLa
お前には聴いてない
ごめんちょっと何言ってるか判らない
判らないならレスしないでくださいうざいだけです
686デフォルトの名無しさん (テテンテンテン MM4b-44Rd)
2022/06/02(木) 11:09:03.75ID:EQ5RaqnYM
まあ、なんか体調悪いですって聞いただけで症状分かる医者はおらんわな
687デフォルトの名無しさん (ワッチョイ 5be9-jfEb)
2022/06/02(木) 17:23:21.69ID:rr5XpLq50
List<string> test = new List<string>();

test.add("N0001");
test.add("N0002");
test.add("P0012");

testから"N0002"を高速に探す方法ってどんなのがあるでしょうか?
拡張for文で回して探すよりテクニカルな方法がありそうな気がするので。。。
688デフォルトの名無しさん (アウグロ MMa3-bSS7)
2022/06/02(木) 17:29:55.07ID:+1QDzAuVM
>>687
文字列定数のアドレスで比較するとか?
689デフォルトの名無しさん (ワッチョイ f101-hDdJ)
2022/06/02(木) 17:38:10.68ID:wgP4DXJo0
Find()でも使えば?
それともZDDを実装するとか
690デフォルトの名無しさん (ワッチョイ ab33-zx5q)
2022/06/02(木) 18:13:50.14ID:NW6RDvSp0
>>687
HashSet<string>ではいかんの?
691デフォルトの名無しさん (アウアウウー Sac5-G2Bm)
2022/06/02(木) 19:17:47.03ID:9h+/E5qma
そもそも探す前に探す内容が判ってしまってる条件設定が可笑しい
692デフォルトの名無しさん (ワッチョイ 9379-bSS7)
2022/06/02(木) 19:20:31.79ID:nxM+aynJ0
>>691
KeyValueっぽいじゃん
693デフォルトの名無しさん (ワッチョイ 2bbb-AiA7)
2022/06/02(木) 19:42:49.77ID:7s4DtQtg0
この条件だと、forループより早く探し出すのは困難だろう
694デフォルトの名無しさん (ワッチョイ e1ac-A9Gv)
2022/06/02(木) 19:52:51.45ID:HqAOppES0
さがすの?在ること確認するの?
695デフォルトの名無しさん (ワッチョイ 5b66-jfEb)
2022/06/02(木) 20:53:08.53ID:UucOdGXH0
Findが速いらしいので下記のようにプログラムしました。
実測してfor文との速さを比べてみたいと思います。

public class TestItem
{
public string x;
public string y;
}

private static void Test()
{
var list = new List<TestItem>();
list.Add(new TestItem() { x = "a", y = "a1" });
list.Add(new TestItem() { x = "b", y = "b1" });
list.Add(new TestItem() { x = "c", y = "c1" });
string n = string.Empty;
list.Find(item =>
{
if (item.x == "b")
{
n = item.y;
return true;
}
return false;
});
Console.WriteLine(n);
}
696デフォルトの名無しさん (ワッチョイ 5163-8tbX)
2022/06/02(木) 21:06:17.38ID:nM6DCghA0
現代的なCPUで実感できる差を出すにはNをいくつに設定すればよいか
みたいな
697デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/06/02(木) 21:13:04.22ID:dm3pGs970
まずアルゴリズムの勉強した方が良さそう
698デフォルトの名無しさん (ワッチョイ 5b66-jfEb)
2022/06/02(木) 21:31:15.89ID:UucOdGXH0
さらに調べたらDictionaryが検索最強のようなので、Dictionaryを
使おうと思います。

var table = new Dictionary<string, string>
{
{ "n01" , "a" },
{ "n02" , "b" },
{ "n03" , "c" },
{ "n04" , "d" },
{ "n05" , "e" },
{ "n06" , "f" },
};

var result2 = "";
table.TryGetValue("n04", out result2);
Console.WriteLine(result2);
699デフォルトの名無しさん (アウアウウー Sac5-l8b5)
2022/06/02(木) 21:45:42.94ID:h7Udtbtka
質問です
ある一つのテキストファイルを複数プロセスから読み書きすることがある場合、自プロセスからファイルオープンしたいときに他のプロセスがファイルを掴んでることを考慮するとどういう処理を記述しますか?
エラー処理ではなく必ず書き込み等は実行したいです
よろしくお願いします
700デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/06/02(木) 22:05:59.88ID:dm3pGs970
精々書き込み禁止になってるって警告出すか、書き込み何度かリトライするくらいしか出来んよ
ファイルハンドル掴んでる奴が離さないとどうにもならん
701デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/06/02(木) 22:14:48.14ID:dm3pGs970
書き込みと読み込みを同時にやりたいなら、ファイルやめてDBにでもした方がいいと思う
702デフォルトの名無しさん (ワッチョイ b342-11kL)
2022/06/02(木) 22:36:33.25ID:OWTkgM/r0
セマフォ使うのがセオリーじゃね
703デフォルトの名無しさん (ワッチョイ 9379-bSS7)
2022/06/02(木) 22:40:32.44ID:nxM+aynJ0
>>699
mutexでやった
704デフォルトの名無しさん (ワッチョイ b902-l8b5)
2022/06/02(木) 22:44:32.32ID:uz/pa6mM0
>>700-702
ありがとうございます
DBであればよかったんですけどね。。
セマフォってプロセス間もロックかけてくれるんですかね?試して確認してみます
705デフォルトの名無しさん (ワッチョイ b902-l8b5)
2022/06/02(木) 22:46:10.40ID:uz/pa6mM0
>>703
ありがとうございます
調べてみます!
706デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/06/02(木) 23:27:49.06ID:dm3pGs970
>>702
自分で作ってないプログラムがファイル掴んだケースは対処出来ないと思う
707デフォルトの名無しさん (ワッチョイ 9379-3jko)
2022/06/03(金) 00:14:36.39ID:y9YQAn470
セマフォというかファイルを管理するサーバと読み書きをサーバに要求するクライアントの関係にすれば簡単だよ
セマフォみたいなプロセス同士でリソースを取り合う仕組みは今風の書き方ではない
対してサバクラ方式はいつまでも色褪せない
708デフォルトの名無しさん (ワッチョイ b902-11kL)
2022/06/03(金) 00:22:12.82ID:9But4xlq0
余計DBでええやんってなるな
709デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/04(土) 01:36:48.90ID:OS5Gy/Bt0
プロセス間だのスレッド間だのそんなのが山ほど出てくるシステムの案件に関わってる俺にとってタイムリーな話題
セマフォだの共有メモリだの初めていじるわそんなん……ってなってた。そして古い書き方という情報はやっぱりなってなった
2015年に作り始めたシステムがvisual studio2010にハンガリアン記法だから全体的になんかおかしいなとは思ってたんだが
710デフォルトの名無しさん (オイコラミネオ MM65-+4Ez)
2022/06/04(土) 07:07:25.82ID:Vj6PMH5WM
>>699
細かい要件によって正解も変わるのでそれだけじゃわからん
711デフォルトの名無しさん (オイコラミネオ MM65-Rebr)
2022/06/04(土) 09:23:44.38ID:UQf/W43EM
複数のプロセスから一つのファイルを読み書きするのはやめろ

サービス作ってそいつにメッセージ投げて読み書きを任せろ
712デフォルトの名無しさん (ブーイモ MM39-106b)
2022/06/04(土) 09:49:41.55ID:KcDM9eDIM
ファイルロックが使えるケースもあるけどバグ踏むと惨事
713デフォルトの名無しさん (アウアウウー Sa11-AYv1)
2022/06/04(土) 10:13:48.37ID:nWQp35Pca
>>711
それが理想なんだけど、そのサービスを常駐(起動)させとかないといけないんだよね?
714デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/04(土) 10:18:11.42ID:r858EDnG0
>>711
まあこれがかなり現実的だな
読み込みは溜めたデータそのまま返せばいいし
書き込みは受け取ったデータをキュー管理して書いていけばいいと思う
715デフォルトの名無しさん (ワッチョイ c1e3-m5EP)
2022/06/04(土) 11:36:13.22ID:mplZdxfc0
>>709
どこの俺社環だよ
誰かが流石に今に合わせようと言い出しても、今までこうだったしの一言で押さえつけられるという
716デフォルトの名無しさん (ワッチョイ 4d2d-h4Uq)
2022/06/04(土) 11:49:44.91ID:EGQQwvFc0
>>713
その通りだけど、C#はサービスを作るのは割と簡単
サービスの起動などはOSに任せられるし
717デフォルトの名無しさん (ワッチョイ 7dac-7xaa)
2022/06/04(土) 12:06:09.80ID:ckvMm5e00
結局実装したとき担当者が詰められるんたから逃げるが吉
718デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/04(土) 16:07:37.88ID:OS5Gy/Bt0
ググったら記事がでてきてほーんセマフォ+共有メモリは古めでクライアントサーバー型がいいんだなー
って読んだあとにそれが2007年の記事だったと気づいて頭を抱えた
719デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/04(土) 17:08:12.72ID:OS5Gy/Bt0
>>714
メールスロットのこと?
720デフォルトの名無しさん (ワッチョイ ca79-sae+)
2022/06/05(日) 00:28:01.32ID:N8cBIXBg0
クラサバ間の通信はどうしたらいいんだい
パイプかい
721デフォルトの名無しさん (ブーイモ MM71-WoRf)
2022/06/05(日) 00:30:48.70ID:yKhmGzV/M
クラサバとか筋悪
722デフォルトの名無しさん (ワッチョイ 6d01-m5EP)
2022/06/05(日) 01:09:26.63ID:IaYuHtso0
ポインタが分かりません。メモリのメモリって事で合ってますか?
723デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/05(日) 01:16:49.96ID:ei4PW9H/0
Webをポインタで検索したら幾らでも説明出てくるだろ
それ読んで判らんなら、5chの短い文での説明聞いても判らん
724デフォルトの名無しさん (ワッチョイ 06bb-qCnJ)
2022/06/05(日) 02:18:15.76ID:Jf/AoYGA0
少なくともお前の日本語じゃ判らんわな
725デフォルトの名無しさん (ワッチョイ c1da-Ncq0)
2022/06/05(日) 06:25:14.00ID:EDF47TGA0
ポインタはPL/Iでいうところのbased addrだね
726デフォルトの名無しさん (ワッチョイ c6da-y+Ne)
2022/06/05(日) 06:50:07.64ID:IWrg53lV0
lispで言うとcarやね
727デフォルトの名無しさん (アウアウウー Sa11-+J4x)
2022/06/05(日) 07:46:31.07ID:tS177XCQa
>>722
ポインタはメモリのアドレスだよ
アドレスとは番地、つまりメモリの先頭から付いている番号だよ
728デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/05(日) 09:19:27.01ID:ei4PW9H/0
ポインタに入れるものはアドレスだが、=アドレスという訳ではないな
指定したデータ型の変数のあるアドレス
pointerという名前が、指す物という意味で、変数のある場所を指すのに使う
まあ、C#で普通にプログラミングしてる分には使わん
729デフォルトの名無しさん (ワッチョイ c6da-y+Ne)
2022/06/05(日) 09:30:46.65ID:IWrg53lV0
unsafe+ポインタは画像処理とかで出てくるよね?
730デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/05(日) 09:35:03.79ID:ei4PW9H/0
refやSpan<T>で代用可能な場面が多いし、本当に速い処理が必要なら
OpenCVみたいにゴリゴリに最適化された既存のライブラリ使った方が速い事が多い
731デフォルトの名無しさん (テテンテンテン MMde-TY7u)
2022/06/05(日) 09:36:58.23ID:rpWZtyANM
unsafeどころかIntPtrやそれ相当なしに
ちょっと凝ったことなんかC#でできないから
理解してないと少し踏み込むだけでお手上げになるのでは。
732デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/05(日) 09:42:55.86ID:ei4PW9H/0
知識として知っていた方がいい事もあるけど、
全てのC#開発者が知らないといけないかというと、そうでもないと思う
言語間連携とかやるなら避けて通れない道ではある
733デフォルトの名無しさん (オイコラミネオ MM65-Rebr)
2022/06/05(日) 10:23:44.12ID:BAL8np4KM
ポインターは指し示すもの 差し棒
レーザーポインターみたいなもの

これはこのアドレス(何番地)にありますってもの
変数のなかにアドレスが入ってるもの
734デフォルトの名無しさん (オッペケ Sred-CikR)
2022/06/05(日) 10:32:19.18ID:j0FdwMO6r
画像処理アプリ作成したときにunsafeにしたが爆速だった
735デフォルトの名無しさん (ワッチョイ ca8e-jate)
2022/06/05(日) 13:49:11.29ID:bsSB7mS70
>>722
こいつはCとC#の区別が付いていない馬鹿なだけだろ
736デフォルトの名無しさん (アウアウウー Sa11-fRoS)
2022/06/05(日) 15:38:33.40ID:udiiYXiVa
C#のポインタって何?
737デフォルトの名無しさん (ワッチョイ ca79-sae+)
2022/06/05(日) 15:41:22.08ID:N8cBIXBg0
このゴミみたいな話題でこのスレは終わるんだろうな
738デフォルトの名無しさん (ワッチョイ 5dd2-IeUu)
2022/06/05(日) 16:05:22.22ID:/ywqNijR0
C#のポインタは素直じゃないのでポインタの勉強には向いてない

ポインタ周りで事故ったりする経験も含めてC言語でいい
739デフォルトの名無しさん (テテンテンテン MMde-MsoI)
2022/06/06(月) 12:43:29.55ID:F/GQ8N8BM
CといえばC#の案件って、お前C言語やC++と勘違いしてない?ってコードとの遭遇率が異様に高い。
foreach1つvar一つ出てこない命名はハンガリアン記法みたいな。
名前のせいなのかねぇ。それとも似てると言われるjavaの現場なんかもこんなんなんだろうか
740デフォルトの名無しさん (スップ Sdca-IeUu)
2022/06/06(月) 12:47:51.62ID:jOQJjNZVd
インスタンスフィールド一切ないくせにインスタンスメソッドしか定義してなくてデバイスID入力させるライブラリ許さねえ
741デフォルトの名無しさん (ワッチョイ d6a7-YOmL)
2022/06/06(月) 15:21:53.95ID:bWqT7oJw0
>>739
それもあるかもしれないけど、単に知らないだけだったりして…
C言語のコーディング規約には慣れているけどC#は知らないとか
単に基礎部分は理解しているだけ
742デフォルトの名無しさん (ブーイモ MMde-WoRf)
2022/06/06(月) 15:23:44.21ID:QfSxG+pEM
動けばいいじゃん!!🤕
743デフォルトの名無しさん (ワッチョイ ca01-3OWO)
2022/06/06(月) 15:47:12.16ID:/ne+DZHD0
>>739
> foreach1つvar一つ出てこない
CはともかくC++なら範囲forやautoあるからC++みたいに見えるなら単におまえの知識も古いだけだろ
744デフォルトの名無しさん (ワッチョイ 2501-y+Ne)
2022/06/06(月) 16:00:08.35ID:cipJ9vV50
>>743
激同
745デフォルトの名無しさん (ワッチョイ 06bb-TkOU)
2022/06/06(月) 16:33:06.48ID:eXgeySvh0
すまんが、ASP.NET Coreでのアクセス規制って結構面倒だけどさ
https://docs.microsoft.com/ja-jp/aspnet/core/security/authorization/secure-data?view=aspnetcore-6.0#prerequisites
こう言うのを楽にしてくれるパッケージとかあったりするの?
746デフォルトの名無しさん (テテンテンテン MMde-MsoI)
2022/06/06(月) 16:39:33.06ID:TPFU7WdrM
>>743
いや流石にその知識はある
というかC++の案件でせめてC++11使おうよ……って嘆くことが多い
C++なのにCと大差ないの書く人も大量にいるよね
そのイメージだった
747デフォルトの名無しさん (ワッチョイ ca79-sae+)
2022/06/06(月) 18:54:55.63ID:B27onV450
そのC++の案件
本当にC++必要ですか
748デフォルトの名無しさん (アウグロ MMa1-PN48)
2022/06/06(月) 18:59:34.17ID:mMg2UOejM
>>739
マイグレーション多いんじゃない?
俺もわざわざforをforeachに直そうなんて欠片も思わんかった
後でチェックしにくいし
できるだけ機械的にやりたいってのもある
みんな忙しいのに得意気にvarで書き直してバグってたら末代までの恥晒しじゃん
749デフォルトの名無しさん (ワッチョイ 15e3-m5EP)
2022/06/06(月) 19:56:30.70ID:mf1Viruo0
varでバグるって笑うとこなのか
750デフォルトの名無しさん (ワッチョイ 4d2d-h4Uq)
2022/06/06(月) 20:14:34.75ID:FV+nTjsw0
>>748
その程度のミスが語り継がれる訳ないだろw
末代までの恥晒しって言いたいだけだね
751デフォルトの名無しさん (オイコラミネオ MM65-Rebr)
2022/06/06(月) 20:43:42.68ID:gJyU9HxyM
本当にASP.NET Coreって使ってる人いるの?
書籍もないし誰の話題にも乗らない
752デフォルトの名無しさん (ワッチョイ 06bb-TkOU)
2022/06/06(月) 21:19:38.41ID:eXgeySvh0
俺はWebセキュリティーに詳しくなく、JavaScript等を使うと危ないから安全のためと思って使ってるよ
まあほとんど誰も使ってないんじゃないの
753デフォルトの名無しさん (ワッチョイ 1568-v1CU)
2022/06/06(月) 21:52:00.61ID:/PnBW7u30
foreach使わないのはforで回す方が高速だからじゃ無い?
754デフォルトの名無しさん (ワッチョイ 06bb-TkOU)
2022/06/06(月) 22:10:33.09ID:eXgeySvh0
俺はWebセキュリティーに詳しくなく、JavaScript等を使うと危ないから安全のためと思って使ってるよ
まあほとんど誰も使ってないんじゃないの
755デフォルトの名無しさん (ワッチョイ ca79-PN48)
2022/06/06(月) 22:17:06.79ID:3tT8lH5n0
>>753
インデックス使ってなんかやってるだけでforeach使えないじゃん
756デフォルトの名無しさん (ワッチョイ 9978-Rebr)
2022/06/06(月) 22:40:29.49ID:/UC41CYL0
配列だとforeachでも速度低下しなかったはず
757デフォルトの名無しさん (ワッチョイ 55ad-KJcf)
2022/06/07(火) 00:20:26.95ID:hhG790Vp0
forは滅多に使わなくなった
758デフォルトの名無しさん (ワッチョイ 7dac-7xaa)
2022/06/07(火) 00:49:45.91ID:EPRi468s0
MSのフレームワークとかって企業用途が多いから外部に出づらいんだよね
MSのサポートがあってプロダクトとして活きてくるというか

そういう意味じゃ今元気なスタートアップとかの中小が活躍するWeb業界じゃなかなかナレッジが広がらなさそう
759デフォルトの名無しさん (スッププ Sdea-JrRZ)
2022/06/07(火) 01:21:10.29ID:U4x2nL8Ud
エンタープライズの開発って、フレームワークの使い方なんかよりももっと上位の業務ドメインの比重が大きいんだよ
そういうのは企業秘密に関わるし一般化できないから外へ出にくい
一方Web系はCRUDに毛が生えた程度の案件が多く、システム全体のうちでフレームワークに依存する部分の占める割合が大きいんだよ
だからノウハウを共有しやすい
760デフォルトの名無しさん (ワッチョイ ca79-PN48)
2022/06/07(火) 01:23:44.77ID:SMQGWjUr0
>>757
あ、これインデックス1からだわ
ってたったこんだけで用済みなのって
あまりにも産廃過ぎひん?
761デフォルトの名無しさん (スッププ Sdea-JrRZ)
2022/06/07(火) 09:17:02.99ID:U4x2nL8Ud
>>760
foreach (var x in items.Skip(1))
762デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/07(火) 09:59:05.19ID:ZPcKxQgK0
foreachにする為だけにLinq呼ぶのはなんか抵抗あるなw
763デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/07(火) 10:03:36.02ID:ZPcKxQgK0
更に付け加えるなら、IEnumerable<T>は遅延評価になるから遅いループになる
ToArrayで配列にするにしても無駄なコピーが発生するから、単純なループなら素直にforにするべき
764デフォルトの名無しさん (ブーイモ MMde-JrRZ)
2022/06/07(火) 10:35:57.15ID:pQgxRr7zM
C#8以降はこれでいい
foreach (var x in items.AsSpan(1..))
765デフォルトの名無しさん (ブーイモ MMde-JrRZ)
2022/06/07(火) 10:36:39.27ID:pQgxRr7zM
訂正
foreach (var x in items.AsSpan()[1..])
766デフォルトの名無しさん (テテンテンテン MMde-Dguk)
2022/06/07(火) 10:44:56.78ID:iosmncb5M
こっちは速そうだな
767デフォルトの名無しさん (スッップ Sdea-PcMh)
2022/06/07(火) 10:48:00.72ID:yqbruVp1d
>>749
まぁ、varで受けたらobjectにしかならんものもあるし。コンパイルで引っかかるけど
varで書き直そうと思って、うっかり違うとこもいじっちゃって、あら不思議。とかはあるんじゃない?
768デフォルトの名無しさん (ワッチョイ ca01-3OWO)
2022/06/07(火) 11:16:38.99ID:RK8S/U4V0
>>767
> うっかり違うとこもいじっちゃって
それvarに限らなくね?
769デフォルトの名無しさん (ワッチョイ c149-7xaa)
2022/06/07(火) 11:27:48.16ID:zTntcUJQ0
ぶっちゃけIEnumerableが一番読みやすいしありがたい
770デフォルトの名無しさん (スッップ Sdea-PcMh)
2022/06/07(火) 11:41:51.84ID:yqbruVp1d
>>768
そのとおりなんだよねー。
771デフォルトの名無しさん (ワッチョイ c149-7xaa)
2022/06/07(火) 11:55:08.94ID:zTntcUJQ0
てか普段はvarで書いてそういうとこは型指定するのが普通なんじゃね
明示的にしたことが目立つから
772デフォルトの名無しさん (スッップ Sdea-PcMh)
2022/06/07(火) 14:40:19.45ID:yqbruVp1d
>>771
そのとおりなんだけど、この話は>>748,749からの流れなんで
773デフォルトの名無しさん (アウアウウー Sa11-KJcf)
2022/06/07(火) 19:57:35.71ID:kjhW/oeqa
for文撲滅運動
774デフォルトの名無しさん (ワッチョイ ca79-PN48)
2022/06/07(火) 20:06:59.71ID:SMQGWjUr0
foreachは産廃
775デフォルトの名無しさん (アウアウウー Sa11-+J4x)
2022/06/08(水) 09:09:01.61ID:FUigqvdta
double v=0;

var v=0;
に書き換えたせいで起こるバグもあるやな
776デフォルトの名無しさん (ラクッペペ MMde-HOd6)
2022/06/08(水) 09:47:47.82ID:GLLou9kDM
バグというよりバカだな
777デフォルトの名無しさん (ワッチョイ 892f-M86+)
2022/06/08(水) 11:44:36.71ID:ZQZr+Xos0
バカというよりハゲだな
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ
778デフォルトの名無しさん (ワッチョイ 9978-Rebr)
2022/06/08(水) 20:16:22.14ID:Xvcj7lUH0
>>775
書き換えたヤツの頭がバグってる
779デフォルトの名無しさん (ブーイモ MM39-M86+)
2022/06/08(水) 23:01:27.19ID:56U7/LFHM
>>778
書き換えたヤツの頭がハゲってる
780デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/08(水) 23:06:47.81ID:/x/Xh4ts0
そもそもdoubleで0を宣言するなら0.0って書く気がする
781デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/08(水) 23:15:39.55ID:uQlYSi5S0
int以外はサフィックス付けようぜ
782デフォルトの名無しさん (ワッチョイ 7dac-7xaa)
2022/06/09(木) 00:07:43.87ID:p3mwwWov0
ええ、、
783デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/09(木) 08:40:50.75ID:U/w6RtvD0
今どきゴリゴリハンガリアンのシステム開発に放り込まれてげんなりしてるので本当に勘弁してほしい
これだから古い会社は
784デフォルトの名無しさん (ブーイモ MMea-JrRZ)
2022/06/09(木) 08:49:43.24ID:X4XShH8jM
文句言えるほどC#できるんなら自社サービス系行けるよ
さっさと辞めればいい
それができないんなら自分もその程度ということだぞ
785デフォルトの名無しさん (ワッチョイ c149-7xaa)
2022/06/09(木) 10:14:15.96ID:hRm2c4AU0
男を試されているんだ
786デフォルトの名無しさん (ワッチョイ ca01-3OWO)
2022/06/09(木) 11:18:36.64ID:0rPu7H1G0
>>780
同意
そう言えば 0.0 って書いたらfloatとdoubleのどっちになるんだろう?
ってやってみたらdoubleになったわ
787デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/09(木) 11:57:57.22ID:U/w6RtvD0
転職出来るほどの自信は無くてもバッドプラクティスをバッドプラクティスだと言うくらいは出来るだろう
ロジックがおかしい
788デフォルトの名無しさん (ワッチョイ 1563-i/7j)
2022/06/09(木) 12:07:27.28ID:NcaDVjc60
おかしいのはロジックじゃなくて奴隷根性やな
789デフォルトの名無しさん (テテンテンテン MMde-Dguk)
2022/06/09(木) 12:25:46.20ID:WngWFAzGM
この業界は経験者だと転職それほど難しくないんだから、ヤバそうな所はさっさと去るべし
790デフォルトの名無しさん (ブーイモ MMde-JrRZ)
2022/06/09(木) 12:32:25.90ID:ChvQ3ay1M
間違ったやり方だと思いながら仕事してたらいつまでも自信ないままだぞ?
だって間違った仕事しかしてないことになるんだからな
幸い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())
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
795デフォルトの名無しさん (アウアウウー Sa11-KJcf)
2022/06/09(木) 18:05:23.96ID:i3H8tE1La
>>783
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;}
か?
797デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/09(木) 18:56:27.19ID:F1Dv7yR50
>>792
そもそも何故そのような事をするのか。
呼び出し元のログを取りたいとかなら、StackFrame使うとかもっとマシな方法あるけど。
798デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/09(木) 19:10:03.40ID:F1Dv7yR50
あと目的がログだったとして、独自に作るよりはNLogのように既存の物使った方がよい
799デフォルトの名無しさん (ワッチョイ 2d6e-TpYW)
2022/06/10(金) 21:15:14.55ID:EJTDzpB30
みんなの意見参考になったわ
とりあえず今週末ちょっとASP.NET勉強してみるよ。ウェブのこと全然わかんねぇ
800792 (オイコラミネオ MM65-pvNj)
2022/06/10(金) 21:51:32.52ID:kBv7ipkNM
目的は単純にコンストラクタが呼ばれたらコンソールにクラス名を含む文字を出したいただそれだけですね
Stack使う系の方法は確証得られないのでNGです
801デフォルトの名無しさん (ワッチョイ ca79-PN48)
2022/06/10(金) 22:31:06.30ID:Z8p6aUw30
https://docs.microsoft.com/ja-jp/dotnet/api/system.runtime.compilerservices.callerfilepathattribute?view=net-6.0

クラス名って出ないんだな
802デフォルトの名無しさん (ワッチョイ 06bb-TkOU)
2022/06/10(金) 22:32:30.65ID:b5VhUFkH0
高卒丸出しだな
803デフォルトの名無しさん (ワッチョイ 9978-Rebr)
2022/06/10(金) 22:43:55.09ID:wzfIM+ki0
>>800
C# 呼び出し元 クラス名
でググればたくさん見つかるけどそれじゃダメなの?
なんで試さずStackFrameはNGとか難癖付けてるの?
804デフォルトの名無しさん (ワッチョイ d902-+66E)
2022/06/10(金) 22:48:37.99ID:NBA9eaH+0
Callerなんとか系のやつは実行ファイルに埋め込まれるからあまりお勧めしないが
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)]
でインライン展開無効にしとけば大丈夫だと思う
808デフォルトの名無しさん (スッップ Sd1f-G2Bj)
2022/06/11(土) 01:29:16.83ID:N9Pa64KKd
>>807
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:wqB8iMgfd
>>809
できます
はい、次
811デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/11(土) 09:32:14.02ID:Wl1U42VL0
>>809
WinAppDriver経由で出来そうな気がする
812デフォルトの名無しさん (ワッチョイ 23da-Gp1N)
2022/06/11(土) 09:35:43.27ID:XBKZ0P9R0
VS2022で右上のソリューションエクスプローラーのForm1.csをクリックしても
デザイナに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までしかしてないし)
816デフォルトの名無しさん (ワッチョイ 835f-L3+7)
2022/06/11(土) 10:52:17.31ID:yOzdOwl+0
さっぱりわからん。
817デフォルトの名無しさん (ワッチョイ 7f8b-GGE9)
2022/06/11(土) 11:02:57.06ID:sQOLScrN0
>>810
とあるソフトの自動操縦プログラムを作ろうとしていますが
難航しています。

ランサーズではまっている部分を
プロジェクトとして有料でも良いので出すので
コメント入りで作ってくれませんか?
818デフォルトの名無しさん (ワッチョイ 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とかなら画像認識しないと取れない
820デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:24:06.54ID:nSw5Wtt+M
15年じゃないかw
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万ぐらいならやってもいいかな
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がおすすめかな
826デフォルトの名無しさん (ワッチョイ ff24-ISw1)
2022/06/11(土) 11:41:58.88ID:JZDk2JEH0
DataGridViewってセル一つ一つにHWNDあるようなWin32ネイティブではないよね?
ListViewラップしてるだけなら別アプリから操作するのもまあまあ簡単だが
違うならゲームのチートプログラム作るような手順でフックしていかないといけないから難易度はそこそこ高い
827デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/11(土) 11:43:41.48ID:nSw5Wtt+M
そこそこじゃなくてかなりめんどくさい部類
そんなもんを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++で作る
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を行う一般的なやり方だと検出されやすい
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万円ぐらいでやらせようとしてるんじゃないか?
837デフォルトの名無しさん (アウアウウー Sa67-hiZJ)
2022/06/11(土) 16:47:05.38ID:h1ISo/Y7a
>>817
甘えるな
Win32API使う前提ならなんでもあり
ググればいくらでも出て来る
838デフォルトの名無しさん (ワッチョイ 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が画一的で自動化が楽だ
840デフォルトの名無しさん (ワッチョイ a341-l+B+)
2022/06/11(土) 18:40:19.75ID:SEgd6iss0
https://www.lancers.jp/work/detail/2243111
841デフォルトの名無しさん (アウアウウー 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だ。
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もランタイム配布問題を抱えてたし
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で見捨てられたが
850デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/13(月) 04:07:39.98ID:Vh92aGQu0
>>844
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の良さも生かせない言語とちゃうんかいな。
852デフォルトの名無しさん (ワッチョイ 7305-yYLg)
2022/06/13(月) 06:02:44.15ID:QonCP77t0
最も基本的なところの記述はCに似てるが、switch文のbreak必須仕様はVBのSelect Case文と結局同じで、
ヘッダーファイルというものはなく、#include文もなく、クラスの書き方はC++とは類似点が皆無と
言えるもので、実際にはVBのほうが十分に似てる。
853デフォルトの名無しさん (ワッチョイ 7305-yYLg)
2022/06/13(月) 06:06:57.50ID:QonCP77t0
マネージ拡張C++ならボクシングやアンボクシングも必要になるところも、C#にはそれが
無くて、VBとの書き方は末尾にセミコロンを付けるだけの違いでしかない。
854デフォルトの名無しさん (ワッチョイ ffad-gL1p)
2022/06/13(月) 07:10:47.00ID:SowNiufC0
>>851
VBと同じで何が問題なの?
Basicに慣れてる人はVB、C/C++に慣れてる人はC#、と多くの人に対してハードルを低くしてる

あと、デフォルト引数もあるし、Like演算子の代わりもあるよ
855デフォルトの名無しさん (オッペケ Sr87-JPbs)
2022/06/13(月) 08:02:40.22ID:BEV+i+nur
トップレベルステートメントとか出たし、
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:9GYOsPFhM
>>848
まあそれでも選択肢増えたのはありがたいわ
ランタイム別で単一EXEにするのも出来るし
859デフォルトの名無しさん (ワッチョイ 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を使用すれば問題ないと考えていますが合ってますかね
863デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/13(月) 12:25:17.08ID:jMLb0TIiM
合ってる
864デフォルトの名無しさん (アウアウアー Saff-APne)
2022/06/13(月) 12:48:25.13ID:C6CMrLssa
>>863
即レスありがとうございます
型について書かれてるサイトやブログはありますが、各数値型の用途についてまで言及されているサイトはあまりなくて困っていました
助かりました
865デフォルトの名無しさん (ワッチョイ 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)はあまり使わないな
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構造体があるよ
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なんか使った日には島流し
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
874デフォルトの名無しさん (アウアウアー Saff-APne)
2022/06/13(月) 16:15:38.07ID:C6CMrLssa
>>866
そのshortを使わなくてよい根拠を知りたかったのです
サンプルやお手本がつかってないからではなく、ハードウェアの制限があるシーンで使うとか…
ただそんなシーンでC#は選ばれない気もしますが。

整数型以外も
>>867
にもありますが、例えばdouble型ってどういう用途で使うんでしょうかね。
decimalはお金等の電卓通りの計算になるような(ならないケースもありますが)項目に使いますよね。
floatはポリゴンの計算とか?

そういった数値型の利用シーンが知りたかった次第です。
875デフォルトの名無しさん (ワッチョイ bf2d-IRXD)
2022/06/13(月) 17:00:07.25ID:DMu0O5hM0
>>874
shortをあまり使わないのはメモリー効率以外に恩恵が無いから
・16bit変数は思ったよりもすぐに表現出来なくなることが多い
・キャストが面倒
大した意味は無いよ
876デフォルトの名無しさん (ワッチョイ 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バイト幅って原理を使って通信フォーマット組み立てたりする
878デフォルトの名無しさん (アウアウウー Sa67-d8PR)
2022/06/13(月) 17:56:30.29ID:jfMe+W5qa
>>877
そうそう、組み込みデバイスとの通信はshort,floatを使うことが多いね

それとC言語出身者は char=1バイトと勘違いし易いみたい
879デフォルトの名無しさん (ワッチョイ 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データ型の方がずっと速いからです。
884デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/14(火) 01:29:50.35ID:6PvBR2SK0
>>882
.NET Framework 2.0 からようこそw
885デフォルトの名無しさん (ワッチョイ 63c0-yYLg)
2022/06/14(火) 02:46:01.05ID:TDtroYoO0
>>854
 同じだから、あんなのどっちでも普通に書けてハードルはない。
 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だ。
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
>>886
煽っといてふわふわな主観と思い込みしか書いてないけど、その根拠が書いてないのよね
プログラミングに向いてないのでは?
891デフォルトの名無しさん (ワッチョイ ff10-GGE9)
2022/06/14(火) 08:52:04.62ID:TMCaCLvw0
たぶんその人は.NET使って 一緒だー って言ってるんだと思うよ
892デフォルトの名無しさん (ワッチョイ c301-M2VI)
2022/06/14(火) 08:55:05.83ID:gwPRY0yi0
勝手に兄宣言していたvb.netがオワコン
893デフォルトの名無しさん (ワッチョイ 13da-xATt)
2022/06/14(火) 08:58:54.22ID:fCQzlF2p0
>>883
俺には数百万以上のレコードが見込まれるテーブルに対して、smallintで済むカラムをintには変更できないw
まぁ容量無視できる小さいテーブルならintでもいいんじゃないですかね。ケースバイケース
894デフォルトの名無しさん (スッップ Sd1f-G2Bj)
2022/06/14(火) 09:01:43.89ID:VOaVS0+Qd
ref構造体は全滅だね
それによってSystem.Text.Jsonなんかは一部使えない
895デフォルトの名無しさん (スッップ Sd1f-G2Bj)
2022/06/14(火) 09:09:44.70ID:VOaVS0+Qd
インターフェースのデフォルト実装もVBでは使えないはずだけど、デフォルト実装を持ったインターフェースをVBで触ったらどうなるんだろ
既存インターフェースに安全にメンバを追加するための機能だから、良かれと思ってメンバを追加したらVBユーザーが切り捨てられるという悲しい事態になるんだろうか
896デフォルトの名無しさん (ワッチョイ ff01-NwEC)
2022/06/14(火) 11:13:43.86ID:WigeF4Tr0
>>893
一千万レコードで列数100としても高々
10M × 100 × 2バイト = 2GB
増えるだけだろ
どんだけしょぼいサーバーなんだよw
897デフォルトの名無しさん (ワッチョイ f3f6-hiZJ)
2022/06/14(火) 11:27:32.30ID:Rf4XfD/C0
>>846
CLIっていう意味なら判るんだが
898デフォルトの名無しさん (ワッチョイ f3f6-hiZJ)
2022/06/14(火) 11:28:44.62ID:Rf4XfD/C0
886 はアホだという意味なら同意
899デフォルトの名無しさん (ワッチョイ ff01-NwEC)
2022/06/14(火) 11:50:34.14ID:WigeF4Tr0
むしろなんで構うんだよ...
900デフォルトの名無しさん (ワッチョイ 835f-GGE9)
2022/06/14(火) 11:54:05.17ID:yNn4pitq0
やたらとLike演算子持ち上げてるからドキュメント見たけど
普通にVB6相当の機能でワロタ
これがRegexの代替になると思ってるのか…
901デフォルトの名無しさん (ワッチョイ 03e3-DKQR)
2022/06/14(火) 12:27:51.77ID:AQw5EVri0
VB6.0ならともかくVB.NETで動いているものなんて現存するのか
902デフォルトの名無しさん (ブーイモ MMff-LqX/)
2022/06/14(火) 12:29:40.20ID:wsz8dOniM
>>896
その単純計算は影響を小さく見過ぎ
indexやfill factorとかカラムの大きさ/レコード長はいろんな要素に関わってくる

それにストレージサイズよりも一番大きな影響は1ページに収まるレコード数か減りあらゆる処理速度が低下すること
要求性能次第では致命的になるから気をつけて
903デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/14(火) 12:30:33.69ID:EsURBAmXM
業務アプリだとそこそこ大きい企業でもあるぞ
保守する人間がC#使えないからって向こうから指定されるケースもある
904デフォルトの名無しさん (ワッチョイ 03ad-d8PR)
2022/06/14(火) 12:42:13.05ID:6PvBR2SK0
>>903
VB6やExcelVBAのコードをVB.NETに移植する案件はたまにあるな
905デフォルトの名無しさん (ワッチョイ ffad-WqZx)
2022/06/14(火) 12:42:40.32ID:hTagIaNa0
>>882
906デフォルトの名無しさん (ワッチョイ ff01-NwEC)
2022/06/14(火) 12:55:47.82ID:WigeF4Tr0
>>902
> まぁ容量無視できる小さいテーブルならintでもいいんじゃないですかね。
とか書いてあるのに今度は性能ですか
いろいろ大変ですねw
907デフォルトの名無しさん (ワッチョイ 732f-bM3h)
2022/06/14(火) 14:31:55.32ID:QIi9ICtD0
そもそもC#内でメモリに持つような話と、DBに格納するような話を一緒にされてもなぁ
908デフォルトの名無しさん (ワッチョイ 0363-+Xu/)
2022/06/14(火) 17:26:36.23ID:NGaKXqtB0
構い続けてるやつがいるから
909デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/14(火) 19:51:26.40ID:15Fa3aJQ0
>>900
持ち上げてるとか、Regexの代替になるとか、不正解な読解しとる。
910デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/14(火) 19:57:15.05ID:15Fa3aJQ0
>>890
どこがVBなのかの疑問に答えてんだが、何か不足か?
まさか本気でC++のほうが似てる言語と思い込んでないよな。
911デフォルトの名無しさん (ワッチョイ 335f-jVLQ)
2022/06/14(火) 20:02:33.60ID:xBe9hVtf0
>>910
C#に似ているのはVB.netの話だろそれ
VB6とは似せてるだけの別物
912デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/14(火) 21:12:02.27ID:p687pJoB0
>>910
c++が似てるとかじゃなくて、どこが「(c#が)VBと同じ」なん?
886に書いてないじゃん?
まさか851-853ので「同じ」って言ってるん?
913デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/14(火) 22:07:44.90ID:15Fa3aJQ0
>>912
別言語のように見せてるだけで、中身の実体は同じだ。
C#で学んだプログラムの作り方を、そのままVBにも適用できるのだから、同じ言語だ。
いつもVB使ってC#は未経験なものの、業務でC#で既存の改修と、それともう一つC#での新規の開発を
頼まれたことがあったけど、普通にやり遂げた。それはC#というのは、実質はVBと同じだからだ。
914デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/14(火) 22:17:40.97ID:p687pJoB0
>>913
いやだから具体的にどこが同じなん
違うところはいっぱいあると思うけど(それこそ宣言の仕方とか)、それでも「似ていることが」じゃなくて「同じ」て言い張る根拠があるんやろ
915デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/14(火) 22:25:58.13ID:15Fa3aJQ0
>>914
宣言の仕方のような、外側の見かけは違っていて、そこしか見れなくて違うとしか思えないのは、適性に疑問だな。
中身の実体を見て、本質を理解したら同じだということがわかる。
916デフォルトの名無しさん (ワッチョイ 335f-Wc3G)
2022/06/14(火) 22:31:38.24ID:xBe9hVtf0
C♯とVB.netは言語仕様がBASIC風になってるだけで中身はほぼ同じ物に間違い無いけど
昔からあるVisualBASIC6.0までのシリーズとは似せてるだけで別物
917デフォルトの名無しさん (ワッチョイ 732f-bM3h)
2022/06/14(火) 22:31:41.39ID:QIi9ICtD0
言語の本質って、ライブラリの使い方が本質だと思ってるのかね
918デフォルトの名無しさん (ワッチョイ ff79-bGSb)
2022/06/14(火) 22:36:36.81ID:nbg+PlBt0
共産党と立憲共産党の違いぐらい難しいな
919デフォルトの名無しさん (ワッチョイ 335f-Wc3G)
2022/06/14(火) 22:45:04.27ID:xBe9hVtf0
c#とVisualBASIC.NETはどっちもネイティブじゃなくて
.netフレームワーク上で動くからコンパイルした後は同じ物だな

VisualBASIC6.0の代替として開発された物なんだけど
中途半端にVB6.0と似てるので混乱を招いて非難轟々
VBと言うと普通VB6.0を指してVB.netの略称としては使われない
920デフォルトの名無しさん (ワッチョイ 335f-Wc3G)
2022/06/14(火) 22:50:28.09ID:xBe9hVtf0
VisualBASIC.NETはc#をベースにBASIC風に改造された物だから
同じ物と言って間違いではない
921デフォルトの名無しさん (ワッチョイ 335f-Wc3G)
2022/06/14(火) 22:58:23.55ID:xBe9hVtf0
VisualBASIC6.0のソースを楽に.net環境に移植出来るのが
VisualBASIC.NETが作られたMSの目論見だったが
中途半端に仕様が違うのでVisualBASIC6.0を使い続けるか
C#に流れる人が殆どでVisualBASIC.NETはマイナーな開発環境となってしまった
922デフォルトの名無しさん (ワッチョイ 335f-Wc3G)
2022/06/14(火) 23:02:31.90ID:xBe9hVtf0
VisualBASIC6.0はランタイム自体が.NET Frameworkと互換性が全く無い
923デフォルトの名無しさん (ワッチョイ 835f-GGE9)
2022/06/14(火) 23:11:08.49ID:yNn4pitq0
>>909
>>851で書いてる
> C#なら複雑な文字列の扱いはどうやってるんかいな。VBならLike演算子で済ませられるもの
> でも、毎度正規表現クラスを使ったりしてるんかいな。

これは、Like演算子がRegex.IsMatch()と同等の機能を提供してると言ってるのと同じだよね?
もし違う意図だというのならプログラム言語の前に日本語学び直した方がいい

あとやたら同一同一言ってるが、unsafeはどうなんだよ
924デフォルトの名無しさん (ワッチョイ 732f-TFwb)
2022/06/14(火) 23:16:54.98ID:f8wm+Q+w0
名前の最初の文字が大文字か小文字については、
JavaならClassは大文字、フィールドは小文字、メソッドは小文字、ローカル変数は小文字、定数だけは最初の文字に限らずすべて大文字、と定番的ルールがあったけど、
C#ではどうなってますか?
いろんな本読んでますがバラバラな印象。
自分的C#のルールとして、Classは大文字、フィールドは小文字、プロパティは大文字、メソッドは大文字、ローカル変数は小文字、定数だけは最初の文字に限らずすべて大文字、にしてもいいですか?
925デフォルトの名無しさん (ワッチョイ 835f-GGE9)
2022/06/14(火) 23:20:05.00ID:yNn4pitq0
>>924
一応MSが出してるルールはある

C#のコーディング規則
https://docs.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions
926デフォルトの名無しさん (ワッチョイ 03ad-d8PR)
2022/06/14(火) 23:24:53.52ID:6PvBR2SK0
VB.NETはC#の構文に比べて冗長だよな。3項演算子やインクリメント、ラムダ式のアロー演算子が使えないのもかなり致命的
927デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/14(火) 23:28:49.73ID:jATTslXVM
三項演算子はどちらかと言うと新世界から排除されつつある
928デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/14(火) 23:33:32.91ID:15Fa3aJQ0
>>923
同じではない。同等の機能を提供してると言ってると思い込んだのは、大きな誤読だ。
より本格的に文字列のパターンを評価をするには、正規表現クラスが必要にはなるものの、Like演算子で間に合わせられる
事例のものなら一手間省けるが、C#ではまさか毎度正規表現クラスを用意するしかないのかなと疑問を感じての問いかけだ。
929デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/14(火) 23:35:48.61ID:jATTslXVM
とりあえず何年前から来たのか知らないけど勉強しろや
930デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/14(火) 23:54:24.62ID:p687pJoB0
>>915
だからその「中身」の「実体」って具体的にそれぞれ何を指しててどう同じなんだよw
「本質」ってどの本質のことだよw
そのふわふわ言うクセどうにかしろよw
そもそもコードの見た目も機能も名前が違えば言語としてもう違うことになると思うが?
それを押して「同じ」っていう根拠が主観過ぎるんだよ

今そっちは、例えばdiff取ったとき同一にならなくても「ファイルは同じだ」って言い張ってるようなもんだぞ

Wc3Gが言うVB.NETが.NETとして同じものだ、っていう主張は理解できるよ
言語仕様としては違うと思うけど、
お互いunsafe以外出来るできないの機能的な差自体は少ないやろ、当たり前やけど。

でも「VB」と「c#」は「同じ」と軽々と断定出来ないと思うよ。少なくともワイには言えない
931デフォルトの名無しさん (ワッチョイ 835f-GGE9)
2022/06/14(火) 23:57:20.95ID:yNn4pitq0
>>928
> まさか毎度正規表現クラスを用意するしかないのかな

いや今時のIDE使ってたらいきなりRegexって書いても補完機能呼べば自動でusing付与までしてくれるでしょ
「Like」って書くのとなんら変わらん
メモ帳でコーディングしてるのか?
932デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/15(水) 00:00:55.52ID:aOT9guvq0
>>928
「同じ」って主張する割にはc#知らない?
933デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:02:03.02ID:UJXVHFk50
>>923
unsafeの話を持ち出したが、そういった特殊で普段は一般には使わないところにまで、細かく意識して議論するつもりはない。
特殊な事例も含めて、厳密に正確を突き詰めないといけない何らかの場ならともかく、たかが(初心者用)の名前のつくスレッ
ドの場だ。
多くの物事には、原則だけでなく、例外というのものあるのは当たり前なことだ。
934デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:05:36.11ID:UJXVHFk50
>>929
ここに来てるのは勉強の意志の表れだ。
935デフォルトの名無しさん (ワッチョイ a3da-pz7P)
2022/06/15(水) 00:15:55.63ID:xH4/Idj90
C++/CLIも同じだーって言い出すんじゃないの?
936デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:16:44.65ID:UJXVHFk50
>>930
C#とVBのコードを相互に書き換えができれば、同じ実体であり、本質であるものを双方に持ち合わせている。
これでも納得できなければ、元のソースと書き換えた言語ソースのコンパイルしたものを、それぞれ逆コンパイルして比較すればはっきりする。
何がふわふわなんだ。これで十分な話だ。ほかに何を求めるのか。
937デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:21:26.24ID:UJXVHFk50
>>931
サクラエディタで編集してコマンドプロンプトでコンパイル
938デフォルトの名無しさん (ワッチョイ bf2d-IRXD)
2022/06/15(水) 00:27:10.33ID:2LWfH3Cr0
>>935
C++/CLIでマネージコードだけ記述したらほぼ同じものが出来上がるよね
つまりC++/CLI=C#=VB.Net
ひいてはC++=VB
939デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/15(水) 00:28:40.48ID:KBxAKMqV0
>>936
エアプすぎるだろw
C#に限ってもバージョンが違うだけで出来上がる実行ファイルに差が出る可能性があるぞ

実体と本質の定義をさっさと記述しろよ
940デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:30:17.26ID:UJXVHFk50
>>932
931で、正解だということが判明した。
ただしIDEの機能でプログラマーを支援するという情報は得られた。
間違ってなかったので、「知らない」にはなってないな。
941デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/15(水) 00:32:47.91ID:aOT9guvq0
>>936
1行目がまたふわふわしてんなあw
そりゃあ.NET使ってりゃ合わせようとすれば同じになるわw
でも言語として「VB」と「c#」が「同じ言語」と言い切ったんだぞ?
コンパイルして同じものができれば全部「同じ」言語か?
言語仕様も同じか?片方は言語として今後積極的にアップデートもされないとされてるのに同じか?

その程度の認識で普段も「同じ」って言葉使ってるの?こええよw
10数年前ならいざしらず、今の現場とかで「VBとc#は同じだ」なんて言ったら鼻で笑われるぞw
942デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/15(水) 00:34:54.55ID:aOT9guvq0
こういうVBおじさんをいまc#案件で使ったらすごい苦労しそう
教えても理解できず、「VBならこうしたのに」とかブツブツ言って進まなそうw
943デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:34:57.05ID:UJXVHFk50
>>939
そこにこだわって何の意味があるんだ。
目的のプログラムを完成させれば終わりだ。
944デフォルトの名無しさん (ワッチョイ e3ac-JPbs)
2022/06/15(水) 00:44:09.98ID:aOT9guvq0
>>940
判明した、って知らなかっただけじゃん
負けず嫌いでかわいいなあw
945デフォルトの名無しさん (ワッチョイ cfbb-fWzm)
2022/06/15(水) 00:52:28.66ID:BW8MTfJu0
>>933
>unsafeの話を持ち出したが、そういった特殊で普段は一般には使わない
C#でアンマネージリソース扱うのなんて珍しくもなんともないだろw
OS標準の簡単なUIプログラミングしかしたことなさそう

釣りなのか知らんけどテンプレ読めないアホは別スレ行け
946デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 00:57:00.25ID:UJXVHFk50
>>944
知らなかったのではなくて、知っていた。
そして、それが間違っていない確信を得たんやないか。
947デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/15(水) 00:57:50.75ID:pzXtsAzLM
次のスレから勉強しない馬鹿が噛みついてくるスレに名前を変えよう
948デフォルトの名無しさん (オイコラミネオ MMc7-GGE9)
2022/06/15(水) 00:59:57.10ID:pzXtsAzLM
今勉強しようと思っていたじゃなくてC# ver〇 新機能でググって勉強しろ
949デフォルトの名無しさん (ワッチョイ 732f-b1tp)
2022/06/15(水) 01:00:13.01ID:C/XRb82A0
>>936
>C#とVBのコードを相互に書き換えができれば
VB.NETでできてc#にできないこととかあるんだが
言語仕様だって全く違うわけで、同じなのは.NET Frameworkを使うってだけ
ただ、それがc#とVB.Netのプログラミングのほとんどだったりするだけだ
950デフォルトの名無しさん (ワッチョイ 6ffe-yYLg)
2022/06/15(水) 01:01:08.04ID:UJXVHFk50
>>945
(初心者用)なスレには十分な合格点やないか
951デフォルトの名無しさん (ワッチョイ cfbb-fWzm)
2022/06/15(水) 01:12:17.45ID:BW8MTfJu0
>>950
オレオレ基準で話したって誰も共感なんかしてくれないぞ
質問が無いなら普通に迷惑だから消えろ
952デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/15(水) 01:39:39.20ID:dNGhsLRR0
いつまでVB6の構文に固執するつもりだろうか
953デフォルトの名無しさん (ワッチョイ 3302-/e9c)
2022/06/15(水) 08:05:18.99ID:jDcz0x1o0
同じと言うから色々突っ込まれるんだよ
せいぜい似てるにしとけ
954デフォルトの名無しさん (ワッチョイ ff05-bM3h)
2022/06/15(水) 08:27:44.26ID:MKd4vbtE0
これで開発するメリットって何?
955デフォルトの名無しさん (ブーイモ MM7f-rAXT)
2022/06/15(水) 08:33:18.92ID:VkyVfsR4M
MSへの忠誠を誓える
956デフォルトの名無しさん (スッププ Sdff-TUn1)
2022/06/15(水) 08:46:56.50ID:oEHgqApKd
ドボンがVB.NETとC#併記してるけど
どんだけ需要あるんだろうね
957デフォルトの名無しさん (アウアウウー Sa67-gL1p)
2022/06/15(水) 08:56:26.78ID:Ou9isEg9a
>>954
生産性が高い
958デフォルトの名無しさん (ワッチョイ cf63-Gp1N)
2022/06/15(水) 10:18:44.73ID:Fc5Ci+OS0
nullsafeじゃないから時代遅れ
959デフォルトの名無しさん (テテンテンテン MM7f-/Ibo)
2022/06/15(水) 12:28:15.53ID:Ue9ECD1wM
VB.NET嫌いだけど、イベントハンドラだけは書くの楽だった
960デフォルトの名無しさん (アウアウウー Sa67-d8PR)
2022/06/15(水) 17:57:39.19ID:RVZ+vpG8a
ぶいびぃ、って聞くだけで拒否反応するのだが
961デフォルトの名無しさん (ワッチョイ cfbb-7/FS)
2022/06/15(水) 22:44:33.27ID:1Kri3H1n0
後発言語が主流になった日にはさ
現在のVBおじさんみたいに、俺らもC#おじさんになってるだろうからな
あんまりVBおじさんをからかわないようにしようよ
962デフォルトの名無しさん (アウアウウー Sa67-DuPE)
2022/06/16(木) 00:30:49.25ID:niJcC4Fga
VB6から.NETに移行してから困ったことといったらコントロールにインデックスがつかなくなったことがあった記憶があるんだけど、実際今みんなフォームにコントロールを多数配置した時ってどう処理してんの?
963デフォルトの名無しさん (ワッチョイ 3302-/e9c)
2022/06/16(木) 00:52:22.23ID:wV5TuzdE0
コントロール配列の事言ってる?
自前でListにでもぶち込むしかない
964デフォルトの名無しさん (ワッチョイ 6f58-yYLg)
2022/06/16(木) 01:22:46.44ID:gfbkgJyE0
>>951
VBと同じ扱いされるとC#の価値を落とされる気がして、この言語ユーザーとして許せないプライドでもあるのかね。
965デフォルトの名無しさん (ワッチョイ 03ad-aelZ)
2022/06/16(木) 01:29:28.34ID:lksUUhT60
VBなんて化石言語は眼中に無いな
966デフォルトの名無しさん (ワッチョイ 6f58-yYLg)
2022/06/16(木) 01:41:01.92ID:gfbkgJyE0
同じ言語だ。
VBしか使ってない人間にいきなりC#やらせても結果を出してしまうと、C#プログラマが自分の立場が失われると感じて
焦ってんのかいな。
967デフォルトの名無しさん (ワッチョイ cf46-GGE9)
2022/06/16(木) 03:54:50.51ID:O05Sfgr10
マンションでは、PPPoE接続は出来ないのでしょうか?
バッファロールーターにPPPOE設定をしましたが
マンションで最初から契約されているプロバイダ意外に
接続出来ません。。。
968デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/16(木) 05:23:02.90ID:L/YLPuLM0
>>966
だから、何を持って一緒って言ってるんだよ
お前が同じって言ってる箇所も違うって言われてるし、それ以外にも違うとこ散々出てきてるだろ?

VBがどうって言うより、お前をエンジニアとして許容できないんだよ
エンジニア的には比較軸が定義されてない比較とか会話にならん
969デフォルトの名無しさん (アウグロ MMdf-DBHA)
2022/06/16(木) 07:23:07.00ID:b7REg8gIM
もう心意気ってことにしてやれよ
970デフォルトの名無しさん (ワッチョイ 0fde-Gp1N)
2022/06/16(木) 08:13:08.84ID:aGcq98bc0
>>964
言語どれだけ知ってるん?C#とVB以外に
971デフォルトの名無しさん (ワッチョイ 1349-JPbs)
2022/06/16(木) 08:40:39.74ID:TulzdQgt0
>>966
おじさん巣に帰れば?
c#わからないんやろ?引くに引けなくなったんやろ?
現実でも立場がないんだろ?こういうときは大人しくしとくのが大人、やで
972デフォルトの名無しさん (アウアウウー Sa67-d8PR)
2022/06/16(木) 08:48:36.41ID:abm7w68sa
>>966
F#もVBと同じ言語だもんなw
973デフォルトの名無しさん (オッペケ Sr87-6tv4)
2022/06/16(木) 10:14:33.49ID:WZcihTV9r
同じ言語というか、メインはフレームワークだから
それにアクセスするためのシェルみたいな感じ?
974デフォルトの名無しさん (ワッチョイ c301-M2VI)
2022/06/16(木) 10:31:47.37ID:OoaeTtwf0
UCSD p-Systemが呼ばれたような気がした。
975デフォルトの名無しさん (ワッチョイ cfbb-fWzm)
2022/06/16(木) 13:08:25.66ID:u5FhT+AT0
違う言語だ。
C#しか使ってない人間にいきなりVBやらせても結果を出してしまうと、VBプログラマが自分の立場が失われると感じて
焦ってんのかいな。
976デフォルトの名無しさん (スッププ Sdff-TUn1)
2022/06/16(木) 13:08:51.07ID:ojsVl+g+d
VBとC#の違いはunsafeでポインタが扱える事
理屈ではC++と比較しても遜色ない速度が出せる
という事になっている
977デフォルトの名無しさん (アウウィフ FF67-iSSN)
2022/06/16(木) 13:14:37.63ID:uKxWv5AjF
CLR
978デフォルトの名無しさん (オッペケ Sr87-/UDv)
2022/06/16(木) 14:46:01.04ID:RrguUfWVr
unsafeしまくってるわ
979デフォルトの名無しさん (スプッッ Sd1f-UGZ9)
2022/06/16(木) 15:30:23.13ID:D+AyKy1Yd
>>967
馬鹿は死ね
980デフォルトの名無しさん (ワッチョイ 8fa7-kKOs)
2022/06/16(木) 15:58:37.49ID:f7CI5BIw0
>>941
だよな
横からだけど、それがまかり通るならC#とC言語は完全な兄弟と言われるのでは?と思う
だってWin32 APIどちらも使えるし
そしてVBもC言語と兄弟と言えるね

VBは使ってないけどVBScriptとかから考えると、クラスが組めてもコンストラクタに引数が使えなかったはず…
(バージョンアップしていたらすまん…)
一方C#はコンストラクタに引数を渡せる

C言語にはクラスが無いけどC++も含めるとしたらC#はC++寄りでは
981デフォルトの名無しさん (スプッッ Sd1f-UGZ9)
2022/06/16(木) 16:12:21.13ID:EFUVorQPd
VBとVB.NETとVBAの区別が付いていない馬鹿は死ね
982デフォルトの名無しさん (テテンテンテン MM7f-2g4u)
2022/06/16(木) 17:48:15.52ID:rN+74Ft8M
VB.netとC#はかなり近いでしょ。
コンパイルされたexeやdllからC#にもVb.netにも
ごく一部除いて互いに100%それなりに高い確率でツールで自動変換可能なわけで。
表層的な構文糖の有る無しは別にして大枠では非常に似てる。
似てるからこそVB.netは要らんよね、という流れになっていったわけで。
983デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/16(木) 18:13:56.93ID:L/YLPuLM0
プログラマなら「似てる」と「同じ」は違うものだと認識したほうがいいぞ
984デフォルトの名無しさん (ワッチョイ c301-l+B+)
2022/06/16(木) 18:30:32.24ID:m3/jPoYQ0
>>980
次スレよろ
985デフォルトの名無しさん (ブーイモ MM7f-rAXT)
2022/06/16(木) 18:39:01.93ID:hE/CdDLbM
C#1.0の頃と話の内容が変わってないやないかい
これが枯れた言語か・・・
986デフォルトの名無しさん (ワッチョイ 835f-GGE9)
2022/06/16(木) 19:24:37.65ID:HylHhkQp0
同じ.NETファミリーでもC#やF#で書かれたOSSライブラリは無数にあるが、
VB.NETで書かれた知名度のあるOSSライブラリなんて聞いたことがない
これが全てでしょ
987デフォルトの名無しさん (アウアウウー Sa67-d8PR)
2022/06/16(木) 19:51:35.44ID:abm7w68sa
同じなら冗長な構文のVBを使う理由は無いなw
988デフォルトの名無しさん (ワッチョイ 63ec-yYLg)
2022/06/17(金) 00:10:48.62ID:k5ZHqR2O0
>>968
何をもっては、何度も言ってるのにまだわからんのはお前に問題がある。
違うって主張は返しても、わめいてるだけで聞くに値する話は出てきてない。
989デフォルトの名無しさん (ワッチョイ 63ec-yYLg)
2022/06/17(金) 00:27:13.30ID:k5ZHqR2O0
>>975
何だ、本当のことを言われて痛かったんか。
だから、人の言葉を使って単語を取り替えて言葉を返すことしかできなくなったのか。
990デフォルトの名無しさん (ワッチョイ cfbb-fWzm)
2022/06/17(金) 00:28:44.54ID:SEHo94h90
(自分に都合の悪い話は)聞くに値しない
(自分がわからない話は)聞くに値しない
991デフォルトの名無しさん (ワッチョイ 63ec-yYLg)
2022/06/17(金) 00:28:53.14ID:k5ZHqR2O0
>>970
まだ知らない言語一杯あるぞ。
992デフォルトの名無しさん (ワッチョイ 63ec-yYLg)
2022/06/17(金) 00:53:39.57ID:k5ZHqR2O0
VBは眼中にないだの、冗長で使う理由がないだの、化石言語だの、それがどうかしたんかね。
冗長って何。ブロックの先頭と末尾を{や}の1文字で済ませられないのを冗長と言ってるんかいな。
お前らにVBを使ってほしいわけでもVBで書かれたOSSライブラリを普及させたいわけでもない。
993デフォルトの名無しさん (ワッチョイ 732f-b1tp)
2022/06/17(金) 00:54:43.91ID:qX3KJPna0
>>982
その論法でいけばすべてのコンパイル言語はアセンブラと同じになるわけだが

言語が似てるからVB.NETがいらないんじゃなくて、用途と範囲が似てるから
より範囲の広いc#でいいやとなってるだけだ
994デフォルトの名無しさん (ワッチョイ 0363-+Xu/)
2022/06/17(金) 01:35:52.61ID:xcJCAQEI0
覚えたての技術に拘泥するって初心者らしくていいじゃん(いいじゃん)
995デフォルトの名無しさん (ワッチョイ 732f-b1tp)
2022/06/17(金) 01:49:46.97ID:qX3KJPna0
次スレに引っ張りたくないので

VB.NetとC#が同じ言語なんていう意見には全く賛同しないが
VB.NetとC#は本質的に同じ、って意見なら、本質的にの意味あい次第では賛同できる可能性もあった
だがこの肝心の本質的にって言葉を全く説明できなかった

たとえば、
Vb.NetもC#も、.NET Frameworkを操作するためのオブジェクト指向言語であり
その意味では本質的に同じ言語である
だったらもっと賛同されたんじゃないかね

ということでこの話題はこのスレで終わりにして欲しい
996デフォルトの名無しさん (ワッチョイ 1349-JPbs)
2022/06/17(金) 08:36:38.61ID:+OTN6Ty40
VBおじさんは引くに引けなくなってるだけだよw
ちょうどスレ変わるんやしここで引けば消えれるんじゃねw
感覚でふわっとしか言えないクセを直せたらいいねw
あともうちょい勉強すべき
997デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/17(金) 08:44:09.06ID:CPX9Pfyj0
980が建てないみたいなんで建てた
http://2chb.net/r/tech/1655422932/
998デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/17(金) 08:45:12.84ID:CPX9Pfyj0
ホップ
999デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/17(金) 08:45:24.11ID:CPX9Pfyj0
ステップ
1000デフォルトの名無しさん (ワッチョイ cfbb-bGSb)
2022/06/17(金) 08:45:38.25ID:CPX9Pfyj0
1000ならジャンプ
10011001
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 127日 9時間 31分 59秒
10021002
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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



lud20241215234130nca
このスレへの固定リンク: http://5chb.net/r/tech/1644416019/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「ふらっと C#,C♯,C#(初心者用) Part154 ->画像>4枚 」を見た人も見ています:
ふらっと C#,C♯,C#(初心者用) Part141
ふらっと C#,C♯,C#(初心者用) Part138
ふらっと C#,C♯,C#(初心者用) Part144
ふらっとC#,C♯,C#(初心者用) Part88
ふらっと C#,C♯,C#(初心者用) Part128 [無断転載禁止]
【チェンクロ】チェインクロニクル初心者専用★14 [無断転載禁止]
【初心者用】パズル&ドラゴンズ【パズドラ】★116&copy;2ch.net [無断転載禁止]
【初心者用】マイニング情報交換スレ15 [無断転載禁止]
初心者から中級者を目指す人の救済スレ(ガンプラ用)
【初心者用】マイニング情報交換スレ45
Webサイト制作初心者用質問スレ part248 [無断転載禁止]
【初心者用】マイニング情報交換スレ35
【初心者用】マイニング情報交換スレ46
【初心者用】マイニング情報交換スレ34
【初心者用】マイニング情報交換スレ49
【初心者用】マイニング情報交換スレ17
【キンスレ】キングスレイド初心者用スレpart3【初心者】
【初心者用】マイニング情報交換スレ7 [無断転載禁止]
【初心者用】マイニング情報交換スレ14
Webサイト制作初心者用質問スレ part239
【初心者用】マイニング情報交換スレ3
【初心者専用】ポケモンユナイト【Switch】 Part.3
【セルフ用】ジェルネイル初心者中級者向け質問・雑談スレ Part.4
ピアノ大人初心者のためのスレッド(クラシック専用)
Webサイト制作初心者用質問スレ part249
パソコン初心者クリエイター用のパソコンほしい
ドラゴンズドグマオンライン初心者専用スレ Part1
【初心者用】マイニング情報交換スレ60
【初心者用】マイニング情報交換スレ52
【初心者用】マイニング情報交換スレ19
【初心者用】マイニング情報交換スレ3 [無断転載禁止]
【初心者用】マイニング情報交換スレ37
【初心者用】マイニング情報交換スレ36
UWSC初心者用スレ2
【初心者用】マイニング情報交換スレ30
キャンプ場管理人 アニメに影響受けた初心者どもが冬キャンプを舐めてる 最低3万の寝袋は用意しとけ
【とにかく漏れない】電子タバコ6【超初心者専用】 [無断転載禁止]
【独学から】弁理士試験初心者スレ【予備校利用まで [無断転載禁止]
【とにかく漏れない】電子タバコ9【超初心者専用】
【とにかく漏れない】電子タバコ7【超初心者専用】 [無断転載禁止]
【目指せ】嘘PC用語辞典@PC初心者【1000】
[初心者用]スマブラXアイテム無しタイマンスレ
教えて、鯖管理の仕方(初心者用)
くだすれDelphi(超初心者用)その16
ブラックなベンチャーについて語るスレ(初心者用)
/ ´,_ゝ`\初心者のための富士山登山入門126m(ワッチョイ無 [無断転載禁止]
【初心者専用】引き寄せの法則 8【証拠不要】
囲碁・初心者専用の質問スレッド 第33局
【処女・童貞】Hの話【初心者専用】49 [無断転載禁止]
【初心者専用】引き寄せの法則 2【証拠不要】 [無断転載禁止]
【GTS】GRAN TURISMO SPORT初心者専用【Lesson1】
【MHP2G】超絶初心者専用攻略スレ6【村2まで】
囲碁・初心者専用の質問スレッド 第34局
【初心者用】パズル&ドラゴンズ【パズドラ】★121 [無断転載禁止]
スポーツ科学のエビデンス(標本は初心者)←これ
くだすれPython(超初心者用) その48【まず1嫁】
馬券で儲けた金は投資で運用〜株初心者の俺に株を教えてくれ Part.3
囲碁・初心者専用の質問スレッド 第32局
自炊初心者になって気付くこと
【VAPE雑談質問】滝内専用スレ【初心者歓迎】
初心者質問スレ その122 ※aitendo利用者出入禁止
★ビーズを楽しむ初心者のための質問専用スレ22★ [無断転載禁止]
囲碁・初心者専用の質問スレッド 第36局
俺、パチ初心者用質問スレ11本目
俺、パチ初心者専用質問スレ6本目
【MT4/5】Meta Trader初心者専用61【EA素人】
09:41:30 up 3 days, 20:05, 0 users, load average: 9.46, 10.50, 10.32

in 2.0309631824493 sec @0.072853088378906@0b7 on 121523