次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part155
https://mevius.5ch.net/test/read.cgi/tech/1655422932/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part156
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5f01-NOMG)
2022/09/18(日) 14:39:29.51ID:VjUDO6tf0658デフォルトの名無しさん (スッップ Sdb2-yfbC)
2022/11/05(土) 08:08:07.32ID:qYBt5eWid 「何をするプログラムなのか」「なぜこうするのか」といった仕様や意図を自然言語で分かりやすく正確に記述できる能力は重要
一般に日本人はそれを苦手とする者が多く、安易に図表に頼ったり、
自然言語で書くとなるとプログラムと逐次対応するような低レベルな記述(実質的にExcel方眼紙上でコーディングしているだけ)をする傾向がある
一般に日本人はそれを苦手とする者が多く、安易に図表に頼ったり、
自然言語で書くとなるとプログラムと逐次対応するような低レベルな記述(実質的にExcel方眼紙上でコーディングしているだけ)をする傾向がある
659デフォルトの名無しさん (ラクッペペ MM96-zDmT)
2022/11/05(土) 08:26:37.39ID:2xMBgYRAM 意味不明すぎる
660デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/05(土) 08:34:43.47ID:yxkEcNx60 文章でグダグダ書かれるより図表や擬似コードで書いてくれた方が100倍マシ
661デフォルトの名無しさん (ブーイモ MMb2-Acmt)
2022/11/05(土) 08:36:00.30ID:sjtvh1h/M visual transformer を図表無しで
納得させる資料を書いてから言え
納得させる資料を書いてから言え
662デフォルトの名無しさん (ワッチョイ 0941-BZ5V)
2022/11/05(土) 08:43:50.98ID:3YlQFQnT0 質問者は投稿する前に、自分の質問をよく推敲しろよ。これはC#初心者以前の問題だ。
文章が意味不明で相手に伝わらず、あほな質問だと思われたらそれなりの答えしか返って来ないぞ。
文章が意味不明で相手に伝わらず、あほな質問だと思われたらそれなりの答えしか返って来ないぞ。
663デフォルトの名無しさん (オイコラミネオ MM91-zlm6)
2022/11/05(土) 09:40:58.84ID:yYAK326QM >>657
大事ではないけど
言語化と言うかもともと何をしたいのかと言うことがはっきりしていて
それをコードに落とし込んでいるはず
ところが後でコードからその何をしたいかが読み取れない場合があるので
おおまかなコメントなどを残すことになる
細かく内容を記述するのは無駄だしコードを手直しするたびに書き換えるのは無理だ
フローチャートは階層が深くなる複雑な制御構造になる場合に脳で追いきれなくなる場合に描いたりすると便利なんだろうけど
大体みんなちゃんとしたものじゃなくて流れを落書きする程度だと思う
大事ではないけど
言語化と言うかもともと何をしたいのかと言うことがはっきりしていて
それをコードに落とし込んでいるはず
ところが後でコードからその何をしたいかが読み取れない場合があるので
おおまかなコメントなどを残すことになる
細かく内容を記述するのは無駄だしコードを手直しするたびに書き換えるのは無理だ
フローチャートは階層が深くなる複雑な制御構造になる場合に脳で追いきれなくなる場合に描いたりすると便利なんだろうけど
大体みんなちゃんとしたものじゃなくて流れを落書きする程度だと思う
664デフォルトの名無しさん (オイコラミネオ MM91-RS5k)
2022/11/05(土) 11:36:03.24ID:cwSbm70XM665デフォルトの名無しさん (ワッチョイ 7959-xcLn)
2022/11/05(土) 17:37:50.25ID:tZqy6bJ10666デフォルトの名無しさん (ワッチョイ 6107-Aj/S)
2022/11/05(土) 17:53:52.87ID:zg6rbg9v0 フローチャートなんてアセンブリ言語でしか使わんぞ
もしかしたらCでギリギリ使うこともあるかもしれんがオブジェクト指向言語では必要ない
オブジェクト指向言語でフローチャート使わなきゃならんとしたらその前にまずオブジェクトの設計がおかしい
もしかしたらCでギリギリ使うこともあるかもしれんがオブジェクト指向言語では必要ない
オブジェクト指向言語でフローチャート使わなきゃならんとしたらその前にまずオブジェクトの設計がおかしい
667デフォルトの名無しさん (ブーイモ MMa6-DHtG)
2022/11/05(土) 18:13:19.21ID:jSE+d3f7M >>664
Whatもコードで表現しようぞ
Whatもコードで表現しようぞ
668デフォルトの名無しさん (テテンテンテン MM96-RS5k)
2022/11/05(土) 18:22:12.07ID:anrNho5cM669デフォルトの名無しさん (ラクッペペ MM96-zDmT)
2022/11/05(土) 18:26:36.41ID:pQZkgeTuM オブジェクト指向言語で処理の流れを図示するならシーケンス図やアクティビティ図
静的な構造の図示はクラス図やパッケージ図
静的な構造の図示はクラス図やパッケージ図
670デフォルトの名無しさん (ワッチョイ 9279-YsF2)
2022/11/05(土) 18:43:24.92ID:D4NMIenB0 アクティビティ図書くなら
フローチャートのがわかりやすいな
フローチャートのがわかりやすいな
671デフォルトの名無しさん (ワッチョイ 6924-pSqO)
2022/11/05(土) 20:41:38.38ID:SeMW4Qkf0 VSがある程度自動的にクラス関係図生成してくれねぇかなあ
672デフォルトの名無しさん (ワッチョイ 6107-Aj/S)
2022/11/05(土) 20:58:35.47ID:zg6rbg9v0 クラスデザイナーというのがあるからインストーラの個別のコンポーネントで検索してみろ
673デフォルトの名無しさん (ワッチョイ 926a-mTvx)
2022/11/05(土) 21:29:39.32ID:6Vg185nZ0 >>672
あれってCore系未対応じゃなかったっけ?
あれってCore系未対応じゃなかったっけ?
674デフォルトの名無しさん (ブーイモ MM96-DHtG)
2022/11/05(土) 21:50:02.83ID:mwXpY34pM675デフォルトの名無しさん (ラクッペペ MM96-zDmT)
2022/11/05(土) 22:06:58.20ID:neflR3f7M >>671
クラス関係図ではないけどあるクラスのメソッドやフィールドと他のクラス(または外部ライブラリdll)への関係を図示するだけならコードマップ表示がある
クラス関係図ではないけどあるクラスのメソッドやフィールドと他のクラス(または外部ライブラリdll)への関係を図示するだけならコードマップ表示がある
676デフォルトの名無しさん (ラクッペペ MM96-zDmT)
2022/11/05(土) 22:57:43.05ID:x8IGYLJlM Windowsフォームアプリ(.NET Core)のスケルトンコードより
フォーム初期化処理(InitializeComponent()メソッド)
https://i.imgur.com/ukmU36Z.png
フォーム初期化処理(InitializeComponent()メソッド)
https://i.imgur.com/ukmU36Z.png
677デフォルトの名無しさん (オイコラミネオ MM91-RS5k)
2022/11/05(土) 23:01:20.64ID:mbE+OsReM678デフォルトの名無しさん (ワッチョイ b5da-zYAD)
2022/11/06(日) 00:37:13.40ID:zZNJQBYc0 >>675
使用環境条件が厳しい
コード マップを使用して依存関係をマップする
https://learn.microsoft.com/ja-jp/visualstudio/modeling/map-dependencies-across-your-solutions?view=vs-2022
>コード マップの作成および編集には、Visual Studio Enterprise エディションが必要です。
>ただし、Visual Studio Community および Professional エディションでは、Enterprise エディションで
>生成されたダイアグラムを開くことはできますが、編集することはできません。
使用環境条件が厳しい
コード マップを使用して依存関係をマップする
https://learn.microsoft.com/ja-jp/visualstudio/modeling/map-dependencies-across-your-solutions?view=vs-2022
>コード マップの作成および編集には、Visual Studio Enterprise エディションが必要です。
>ただし、Visual Studio Community および Professional エディションでは、Enterprise エディションで
>生成されたダイアグラムを開くことはできますが、編集することはできません。
679.NET MAUI HighScool (ワッチョイ 9201-84Ua)
2022/11/06(日) 00:58:03.81ID:Am1kuzif0 .NET 7についての前情報得てるやついる?
どんな感じなんだろ?
どんな感じなんだろ?
680デフォルトの名無しさん (アウアウウー Sacd-hcl2)
2022/11/06(日) 02:59:28.10ID:3Vlqt+cVa 質問です。
構造体を使っていて関数内でnewしてそこで使い終わる(ボクシングしない)場合は、stackに乗るだけなので、heapは汚さないしgcには影響無い認識でいいですよね?ゲームを作ってるのでgcの影響を少なくしたいんです。
構造体を使っていて関数内でnewしてそこで使い終わる(ボクシングしない)場合は、stackに乗るだけなので、heapは汚さないしgcには影響無い認識でいいですよね?ゲームを作ってるのでgcの影響を少なくしたいんです。
681デフォルトの名無しさん (ラクッペペ MM96-zDmT)
2022/11/06(日) 07:14:57.83ID:t/MPMTDqM 構造体でもインスタンス生成してる時点でガベージコレクションの対象
.NETでは値型であろうが参照型であろうがすべての変数は監視下に置かれる
ボクシングは値型の変数を参照型(object型)変数に代入する時に一時インスタンスを生成して値をコピーして渡す機能なので全く関係ない話
.NETでは値型であろうが参照型であろうがすべての変数は監視下に置かれる
ボクシングは値型の変数を参照型(object型)変数に代入する時に一時インスタンスを生成して値をコピーして渡す機能なので全く関係ない話
682デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/06(日) 07:30:46.83ID:mzFwuoQr0683デフォルトの名無しさん (ブーイモ MMad-yfbC)
2022/11/06(日) 09:30:46.32ID:OgJKt7GdM684デフォルトの名無しさん (ブーイモ MMad-yfbC)
2022/11/06(日) 09:45:40.42ID:OgJKt7GdM ただし、もちろん値型の変数を使ったらその先が全てGCの追跡の対象外になるわけではなくて、値型に定義された参照型の変数はGCの追跡対象となる。
上に述べた通り値型は単なる埋め込みのメモリのデータ構造なので、それ自体は単にGCをバイパスする。
そして、最終的にメモリ上に展開された構造のうちで参照型の変数だけが追跡対象となるわけ。
上に述べた通り値型は単なる埋め込みのメモリのデータ構造なので、それ自体は単にGCをバイパスする。
そして、最終的にメモリ上に展開された構造のうちで参照型の変数だけが追跡対象となるわけ。
685デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/06(日) 09:52:21.19ID:mzFwuoQr0 >>683
newしてても?
newしてても?
686デフォルトの名無しさん (ワッチョイ b5da-zYAD)
2022/11/06(日) 09:54:44.02ID:zZNJQBYc0 値型のintでも実際はSystem.Int32構造体のインスタンスではなかったっけ?
MaxValue、MinValueなどのプロパティやToString()などのメソッドが使えたはず
値型の変数でもGCが追跡しているのでは?
MaxValue、MinValueなどのプロパティやToString()などのメソッドが使えたはず
値型の変数でもGCが追跡しているのでは?
687デフォルトの名無しさん (ブーイモ MMad-yfbC)
2022/11/06(日) 09:57:00.84ID:OgJKt7GdM688デフォルトの名無しさん (ブーイモ MMad-yfbC)
2022/11/06(日) 10:00:33.74ID:OgJKt7GdM >>686
値型に対してObjectクラス又はValueTypeクラスのメソッドを呼び出そうとすると、その時点でボックス化が発生し、ヒープ上に新たなインスタンスが生成される
値型に対してObjectクラス又はValueTypeクラスのメソッドを呼び出そうとすると、その時点でボックス化が発生し、ヒープ上に新たなインスタンスが生成される
689デフォルトの名無しさん (ワッチョイ d951-pSqO)
2022/11/06(日) 10:06:01.01ID:sZiKsnj+0 ポインタがオマケでつくかつかないかだけなのか
690デフォルトの名無しさん (ワッチョイ 36bc-Ssk3)
2022/11/06(日) 11:39:39.10ID:8lzCZdko0 なんか久し振りにここでためになる話を聞けた気がする。
横からだけど、ありがとう。
横からだけど、ありがとう。
691デフォルトの名無しさん (ワッチョイ 0935-8IBJ)
2022/11/06(日) 12:23:04.83ID:eRXytuty0 >>681のしったか具合がやばい
692デフォルトの名無しさん (アウアウウー Sacd-Aj/S)
2022/11/06(日) 12:28:55.33ID:46oDEsAIa このスレは前からそんなもんだろ
素人が知ったかして嘘ばかり教えるスレ
素人が知ったかして嘘ばかり教えるスレ
693デフォルトの名無しさん (ワッチョイ b5da-zYAD)
2022/11/06(日) 13:25:57.55ID:zZNJQBYc0 intの構造体はC/C++で言うところの自己参照構造体を強引に組み込み型として実現してるっぽい
https://qiita.com/cocoabreak/items/e93a3bd6d1640b622c42
https://qiita.com/cocoabreak/items/e93a3bd6d1640b622c42
694デフォルトの名無しさん (ブーイモ MMad-yfbC)
2022/11/06(日) 13:54:54.11ID:FxP86aLpM >>693
この記事では、そもそもなぜ再帰的な定義になっていて、それがどのように機能するかの説明にはなっていないような
C#のintやInt32型の変数は、実際にはどちらもILのプリミティブ型であるint32型にコンパイルされるんだよ
つまりInt32をint32型のフィールド一つだけを持つ構造体として定義してやれば、Int32とint32のメモリ上のレイアウトが同一になる
あとはコンパイラの型チェックを細工して、それらを区別しないようにしてやればよいというわけ
この記事では、そもそもなぜ再帰的な定義になっていて、それがどのように機能するかの説明にはなっていないような
C#のintやInt32型の変数は、実際にはどちらもILのプリミティブ型であるint32型にコンパイルされるんだよ
つまりInt32をint32型のフィールド一つだけを持つ構造体として定義してやれば、Int32とint32のメモリ上のレイアウトが同一になる
あとはコンパイラの型チェックを細工して、それらを区別しないようにしてやればよいというわけ
695デフォルトの名無しさん (アウアウウー Sacd-hcl2)
2022/11/06(日) 14:38:11.76ID:mupUNnkwa >>683
680です!有難う、スッキリしました!
680です!有難う、スッキリしました!
696デフォルトの名無しさん (ワッチョイ 9e2d-Bim8)
2022/11/10(木) 02:43:44.58ID:nQDHqGzi0 TwitterのAPIからツイートを取得し、それを保存する方法について知恵を貸してください
現状テキストファイルに以下のように保存しています
ツイートID||kugiri||ユーザID||kugiri||日付||kugiri||本文||kugiri||未読フラグ||kugiri||保護フラグ
これをString.Splitで配列にしています
問題は||kugiri||とツイートされるとデータが壊れます
実際は||kugiri||ではなくもうちょっと長い記号の羅列ですがどうしても万が一という不安が残ります
こういうデータはXMLで保存するものなのでしょうか
その際「<Honbun>本文</Honbun>」のように保存されると思いますが
「07214545</Honbun>hoge」などXMLのコードが含まれるツイートをされても壊れないものですか?
保存時に本文だけBase64等にするか全てバイナリで保存も考えましたが、ファイルを直接開いて検索したりできないのも不便です
あとは本文をデータの末尾にしてString.Splitを使わずに1つずつ配列に戻すか
データ量は20,000件程度です、他によい方法がありましたらアドバイスおねがいします
現状テキストファイルに以下のように保存しています
ツイートID||kugiri||ユーザID||kugiri||日付||kugiri||本文||kugiri||未読フラグ||kugiri||保護フラグ
これをString.Splitで配列にしています
問題は||kugiri||とツイートされるとデータが壊れます
実際は||kugiri||ではなくもうちょっと長い記号の羅列ですがどうしても万が一という不安が残ります
こういうデータはXMLで保存するものなのでしょうか
その際「<Honbun>本文</Honbun>」のように保存されると思いますが
「07214545</Honbun>hoge」などXMLのコードが含まれるツイートをされても壊れないものですか?
保存時に本文だけBase64等にするか全てバイナリで保存も考えましたが、ファイルを直接開いて検索したりできないのも不便です
あとは本文をデータの末尾にしてString.Splitを使わずに1つずつ配列に戻すか
データ量は20,000件程度です、他によい方法がありましたらアドバイスおねがいします
697デフォルトの名無しさん (ワッチョイ b18e-ly3j)
2022/11/10(木) 03:37:46.97ID:+sVvBbXs0698デフォルトの名無しさん (ワッチョイ 9e2d-Bim8)
2022/11/10(木) 05:44:42.33ID:nQDHqGzi0699デフォルトの名無しさん (ワッチョイ 0935-8IBJ)
2022/11/10(木) 07:09:23.51ID:m98zu82a0 適当なで区切る
データにその記号があればエスケープしておく
データにその記号があればエスケープしておく
700デフォルトの名無しさん (ワッチョイ 9e2d-Bim8)
2022/11/10(木) 07:45:50.73ID:nQDHqGzi0 >>699
例えば|chinko|という区切り文字を使っている場合にユーザーが|chinko|と書き込んだ場合
APIから取得時に|ちんこ|と置き換えておくと言う事ですね、表示するときには|chinko|に戻すと
現状改行コードを置き換えて保存しているので、そこにまとめて組み込めば楽そうです
例えば|chinko|という区切り文字を使っている場合にユーザーが|chinko|と書き込んだ場合
APIから取得時に|ちんこ|と置き換えておくと言う事ですね、表示するときには|chinko|に戻すと
現状改行コードを置き換えて保存しているので、そこにまとめて組み込めば楽そうです
701デフォルトの名無しさん (オッペケ Sr79-pJTy)
2022/11/10(木) 08:16:38.34ID:XxWk5gSzr 文字列の改変で(削除でもなく)、エスケープとかサニタイズを独自に実装するのは苦労すると思うよ
702デフォルトの名無しさん (ワッチョイ 515f-HFId)
2022/11/10(木) 08:34:01.14ID:9mQBoBy40 >>696
もしよろしけば下記について教えてほしい
その上で「JSON形式ではダメな理由」があるなら、それも教えて
1. 「保存」の目的(保存したデータの利用目的)
2. 現状の保存形式を選択した理由
もしよろしけば下記について教えてほしい
その上で「JSON形式ではダメな理由」があるなら、それも教えて
1. 「保存」の目的(保存したデータの利用目的)
2. 現状の保存形式を選択した理由
703デフォルトの名無しさん (ラクッペペ MM96-VHME)
2022/11/10(木) 09:11:14.02ID:O+ugNNB7M xmlもjsonもエスケープ方法は規格として決められている
オレオレエスケープなんか考えなくても偉い人が作ったものを黙って使えば良い
オレオレエスケープなんか考えなくても偉い人が作ったものを黙って使えば良い
704デフォルトの名無しさん (スップ Sd12-yfbC)
2022/11/10(木) 09:13:17.40ID:TJ0qCovBd ファイルに保存する際の定石をよく分かってないだけでしょ
JSONやXMLでもいいけど、この場合普通に一つのツリーとして書き出すと追記できなくて不便そうだから、JSON Linesがお勧めだな
Excelなどで表として扱いたいならCSVでもいいがJSON Linesよりはフォーマットにバリエーションがあるから考慮すべきことは多くなる
JSONやXMLでもいいけど、この場合普通に一つのツリーとして書き出すと追記できなくて不便そうだから、JSON Linesがお勧めだな
Excelなどで表として扱いたいならCSVでもいいがJSON Linesよりはフォーマットにバリエーションがあるから考慮すべきことは多くなる
705デフォルトの名無しさん (ワッチョイ 6924-pSqO)
2022/11/10(木) 09:42:00.83ID:hu9oTdXa0 目視もしたいなら尚更そのままjsonでええやん
706デフォルトの名無しさん (アウアウアー Sac6-M3Dd)
2022/11/10(木) 10:19:10.77ID:24bGZvg4a 最近学びはじめてC♯ではメインメソッドを省略できるということで楽だなーと思っていたら関数のオーバーロードのところでエラーが出てしまいました
従来通りクラス名とメインメソッドを書くやり方だと普通に出来たのでローカル関数(オーバーロードできない?)として認識されているためエラーが出てるという認識で合っていますか?
メインメソッドを省略した場合どうやってもオーバーロードできないのでしょうか?
従来通りクラス名とメインメソッドを書くやり方だと普通に出来たのでローカル関数(オーバーロードできない?)として認識されているためエラーが出てるという認識で合っていますか?
メインメソッドを省略した場合どうやってもオーバーロードできないのでしょうか?
707デフォルトの名無しさん (ワッチョイ f533-rIwK)
2022/11/10(木) 10:33:00.98ID:vuUWLQnn0 >>706
トップレベルに書かれたメソッドはローカル関数になります
cf) //ufcpp.net/study/csharp/misc/miscentrypoint/#top-level-statements
トップレベルに書かれたメソッドはローカル関数になります
cf) //ufcpp.net/study/csharp/misc/miscentrypoint/#top-level-statements
708デフォルトの名無しさん (アウアウウー Sacd-obsI)
2022/11/10(木) 11:17:10.46ID:eH71UEsUa >>700
違う、それだと |ちんこ| と書き込んだら |chinko| になっちゃうだろ
|chinko| と書き込まれてたら |エスケープ||chinko| にして、表示する時に |エスケープ||chinko| を |chinko| に戻す
ただこれだと |エスケープ||chinko| って入力されたら |エスケープ| が無くなっちゃうから |エスケープ| 自身もエスケープして |エスケープ| が来たら |エスケープ||エスケープ| にして、表示時に |エスケープ||エスケープ| を |エスケープ| に戻す
※ |エスケープ||chinko| の保存データは |エスケープ||エスケープ||エスケープ||chinko| になる
まあ>>703の言う通りオレオレエスケープは知識としては知っておくべきだけど自前で実装するよりライブラリ等に頼った方がいいと思うよ
違う、それだと |ちんこ| と書き込んだら |chinko| になっちゃうだろ
|chinko| と書き込まれてたら |エスケープ||chinko| にして、表示する時に |エスケープ||chinko| を |chinko| に戻す
ただこれだと |エスケープ||chinko| って入力されたら |エスケープ| が無くなっちゃうから |エスケープ| 自身もエスケープして |エスケープ| が来たら |エスケープ||エスケープ| にして、表示時に |エスケープ||エスケープ| を |エスケープ| に戻す
※ |エスケープ||chinko| の保存データは |エスケープ||エスケープ||エスケープ||chinko| になる
まあ>>703の言う通りオレオレエスケープは知識としては知っておくべきだけど自前で実装するよりライブラリ等に頼った方がいいと思うよ
709デフォルトの名無しさん (アウアウアー Sac6-M3Dd)
2022/11/10(木) 12:01:29.52ID:24bGZvg4a >>707
ということはオーバーロードを使いたい場合トップステートメントのあとにクラスやら定義してから関数作るか別のファイルで作って呼び出すしかないという認識でいいですか?
ということはオーバーロードを使いたい場合トップステートメントのあとにクラスやら定義してから関数作るか別のファイルで作って呼び出すしかないという認識でいいですか?
710デフォルトの名無しさん (ワッチョイ f533-rIwK)
2022/11/10(木) 12:31:50.00ID:vuUWLQnn0711デフォルトの名無しさん (アウアウアー Sac6-M3Dd)
2022/11/10(木) 12:55:47.41ID:24bGZvg4a712デフォルトの名無しさん (ブーイモ MMad-DHtG)
2022/11/10(木) 15:17:52.70ID:F9S+K/27M CSVのreader/writerは標準では無いんだね
713デフォルトの名無しさん (ワッチョイ 5e7b-xF2o)
2022/11/10(木) 18:43:48.03ID:NDp6c9mu0 >>712
readerというかParserはあるよ
TextFieldParserクラス
https://dobon.net/vb/dotnet/file/readcsvfile.html#section7
同じところに載っている独自解析のサンプルや自分でParser作った方が動作は若干早くなるだろうけど
readerというかParserはあるよ
TextFieldParserクラス
https://dobon.net/vb/dotnet/file/readcsvfile.html#section7
同じところに載っている独自解析のサンプルや自分でParser作った方が動作は若干早くなるだろうけど
714デフォルトの名無しさん (ワッチョイ 122f-nsye)
2022/11/10(木) 18:44:43.64ID:QLIhXLlU0 ツイートって文字数決まってなかったっけ?
このパターンなら昔は固定長とかも候補になっただろうに
最近の文字コード事情考えると固定長は厳しいよなぁ
このパターンなら昔は固定長とかも候補になっただろうに
最近の文字コード事情考えると固定長は厳しいよなぁ
715デフォルトの名無しさん (ワッチョイ 1279-mTQO)
2022/11/10(木) 19:17:24.93ID:BjQppGzz0 拡張性とか無くなるけど
本文の位置をラストにしてcountを渡せば
Split一発で配列に出来るかも
本文の位置をラストにしてcountを渡せば
Split一発で配列に出来るかも
716デフォルトの名無しさん (ワッチョイ 0935-8IBJ)
2022/11/10(木) 20:27:59.70ID:m98zu82a0 5chのDATのようにHTMLエンコードして改行を<br>で置き換えたものを<>で連結するフォーマットは何気に簡単でいいね
717デフォルトの名無しさん (オイコラミネオ MM91-o+MF)
2022/11/11(金) 11:48:16.03ID:V/N8drZJM ここで出てる案だと普通はタブ区切りがいい
汎用性がある
excelやpythonのpandasでシンプルに読める
VSCodeでアドインもある
汎用性がある
excelやpythonのpandasでシンプルに読める
VSCodeでアドインもある
718デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/11(金) 12:23:50.12ID:z+UtuJ+k0719デフォルトの名無しさん (ラクッペペ MM96-VHME)
2022/11/11(金) 12:29:30.36ID:8WOXnYS7M システムとして必要がないので抹殺するのみ
720デフォルトの名無しさん (ワッチョイ 6924-pSqO)
2022/11/11(金) 13:24:51.05ID:zPVyBVcV0 馬鹿みたいにHTML解析してデータ取得してるならまだしも普通にapi投げてるならjson一択やろ
721デフォルトの名無しさん (アウアウウー Sacd-Aj/S)
2022/11/11(金) 13:33:07.32ID:OBpw9JhUa ふつーYAML
722デフォルトの名無しさん (ワッチョイ a2bd-+nMC)
2022/11/11(金) 16:29:42.18ID:WVb8D07I0 初めまして。
.NetCoreでコマンドラインみたいな改行させながらのログ表示をさせようと思ったのですが、どんなコントロール使えば良いのでしょう? 出来れば履歴遡れるようにスクロールバー付きで。
ラベルもテキストボックスもうまく表示してくれない・・・shownイベント以下に書いたからかな。
.NetCoreでコマンドラインみたいな改行させながらのログ表示をさせようと思ったのですが、どんなコントロール使えば良いのでしょう? 出来れば履歴遡れるようにスクロールバー付きで。
ラベルもテキストボックスもうまく表示してくれない・・・shownイベント以下に書いたからかな。
723デフォルトの名無しさん (ワッチョイ f533-rIwK)
2022/11/11(金) 16:42:33.46ID:GYEdeJz40724デフォルトの名無しさん (アウアウウー Sacd-Aj/S)
2022/11/11(金) 16:50:47.79ID:YvvI/C4ma 同じところで普通に文字列渡したら表示されるなら読み込みに失敗してるのでコントロールのせいではない
725デフォルトの名無しさん (ササクッテロリ Sp79-uppo)
2022/11/11(金) 18:11:52.32ID:FjpNhKohp ただのテキストボックスとかラベルだと
そのとき持ってるテキストしか表示しないから
アペンドしてくしか無いんじゃね?
そのとき持ってるテキストしか表示しないから
アペンドしてくしか無いんじゃね?
726722 (ワッチョイ a2bd-+nMC)
2022/11/11(金) 18:23:04.48ID:WVb8D07I0 反応ありがとうございます。
>>723
WinForm使っています。
・・・と、プロジェクト作成時に指定したと思ったのですが、プロジェクのプロパティを確認したら少し違っていました。
Windowsフォームなのは間違いないですが、.NetCoreではなく.Net6.0でした。
.NetとかCoreとかframewaorkとか、まだよく分かっていません。取り敢えず.Netにしとけって感じみたいですが。
WPFはまだ私には早いらしいから避けて通ろうと思います。
>>724
Form.Textは望んだ通りに表示されたのですけどねw
当初 public Form1()の InitializeComponent();以下に記述していたのですが、処理が全部終わってからForm作画に入るのでShownイベントに移動したのですが・・・念を入れて配置した中断ボタンも作画されず穴開き状態で、ShownはFormの配置が終わった直後であって総ての配置が終わった跡ではないって事ですかね。 私が書いたのは読んだファイルを加工して別ファイルに書き出している程度のモノなのですが、普通の処理はどこに置けば良いんでしょうね。 要勉強なり。
#よく分からないまま入門しているから、一つの質問の不明部分を細く要件定義していくと目も当てられない長さになりますね・・・。
>>723
WinForm使っています。
・・・と、プロジェクト作成時に指定したと思ったのですが、プロジェクのプロパティを確認したら少し違っていました。
Windowsフォームなのは間違いないですが、.NetCoreではなく.Net6.0でした。
.NetとかCoreとかframewaorkとか、まだよく分かっていません。取り敢えず.Netにしとけって感じみたいですが。
WPFはまだ私には早いらしいから避けて通ろうと思います。
>>724
Form.Textは望んだ通りに表示されたのですけどねw
当初 public Form1()の InitializeComponent();以下に記述していたのですが、処理が全部終わってからForm作画に入るのでShownイベントに移動したのですが・・・念を入れて配置した中断ボタンも作画されず穴開き状態で、ShownはFormの配置が終わった直後であって総ての配置が終わった跡ではないって事ですかね。 私が書いたのは読んだファイルを加工して別ファイルに書き出している程度のモノなのですが、普通の処理はどこに置けば良いんでしょうね。 要勉強なり。
#よく分からないまま入門しているから、一つの質問の不明部分を細く要件定義していくと目も当てられない長さになりますね・・・。
728デフォルトの名無しさん (アウアウウー Sacd-8IBJ)
2022/11/11(金) 18:38:29.81ID:k1VRcWZVa キモイインデント
729デフォルトの名無しさん (ワッチョイ d9e5-VHME)
2022/11/11(金) 19:16:48.66ID:7I/0fxGc0730722 (ワッチョイ 03bd-EHNx)
2022/11/12(土) 06:25:09.95ID:gXw8amZq0 >>729
ボタンスタートと言う方法なら今の実力でも綺麗に収まると思うのですが、D&Dかダブルクリックで起動したら後はノンストップで処理してひっそり終了してもらいたいので、ボタンでワンストップは仕様として煩わしい。
と言う美学的な理由でやろうとしないのでした(^^;
>>725 改めまして。
実装してみました。
TextBox.Text += newword;的な記述をして痛い目を見ました。 TextBox.AppendText(newword);としないといけないんですね。
ついでに初期設定で TextBox.ScrollBars = ScrollBars.Both;でスクロールバーも付けました。
buttonは機能しないのに、TextBoxは問題なく機能していますね。何故だろう。
早くshownからどっかに移動しないとですね。
ボタンスタートと言う方法なら今の実力でも綺麗に収まると思うのですが、D&Dかダブルクリックで起動したら後はノンストップで処理してひっそり終了してもらいたいので、ボタンでワンストップは仕様として煩わしい。
と言う美学的な理由でやろうとしないのでした(^^;
>>725 改めまして。
実装してみました。
TextBox.Text += newword;的な記述をして痛い目を見ました。 TextBox.AppendText(newword);としないといけないんですね。
ついでに初期設定で TextBox.ScrollBars = ScrollBars.Both;でスクロールバーも付けました。
buttonは機能しないのに、TextBoxは問題なく機能していますね。何故だろう。
早くshownからどっかに移動しないとですね。
731デフォルトの名無しさん (ワッチョイ 7501-zkEE)
2022/11/12(土) 09:45:26.79ID:zAtFaE7C0 スタンドアローンなアプリで、アプリの起動をパスワード保護したいのですが、ILSpy等で丸見えにならない程度の強度を持つにはどのような方法がありますか?
732デフォルトの名無しさん (ワッチョイ 232c-BvCT)
2022/11/12(土) 09:59:48.08ID:tbSOUgpp0 C#以外でdllにしとけば?
733デフォルトの名無しさん (ワッチョイ 6d78-H0Ic)
2022/11/12(土) 10:23:23.19ID:B4kjFmw80 >>731
パスワードチェックロジックを難読化ツールでぐちゃぐちゃにすると追う気無くなる
パスワードチェックロジックを難読化ツールでぐちゃぐちゃにすると追う気無くなる
734デフォルトの名無しさん (ワッチョイ 4bbb-vnW9)
2022/11/12(土) 10:29:06.28ID:ZNG2TRSk0 >>731
適当なアルゴリズムのハッシュ値を比較すれば?
適当なアルゴリズムのハッシュ値を比較すれば?
735デフォルトの名無しさん (ワッチョイ 45f9-/i6p)
2022/11/12(土) 12:11:02.84ID:Ra6ElU+i0 t
736デフォルトの名無しさん (ワッチョイ b507-z+Fy)
2022/11/12(土) 12:12:52.85ID:bRljaFHR0737デフォルトの名無しさん (ワッチョイ 45f9-rXbI)
2022/11/12(土) 12:13:15.16ID:Ra6ElU+i0 k
738デフォルトの名無しさん (ワッチョイ 45f9-rXbI)
2022/11/12(土) 12:17:11.67ID:Ra6ElU+i0 n
739デフォルトの名無しさん (ブーイモ MM4b-0aU/)
2022/11/12(土) 13:44:40.40ID:4XgMUuW5M >>731
アプリの本体をパスワード付きzipかなんかで圧縮しといて動的にロードする
アプリの本体をパスワード付きzipかなんかで圧縮しといて動的にロードする
740デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/12(土) 13:48:14.08ID:YXyqvQzKa >>739
ダサすぎるし解凍したところでコピーできんじゃん
ダサすぎるし解凍したところでコピーできんじゃん
741デフォルトの名無しさん (ワッチョイ 2379-zDZ1)
2022/11/12(土) 13:55:42.98ID:guv9Rfqm0 パスワードのみのテキストファイルを
そのパスワードでzip圧縮
解凍成功と中身の照合で実行継続か
そのパスワードでzip圧縮
解凍成功と中身の照合で実行継続か
742デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/12(土) 13:57:46.17ID:YXyqvQzKa >>741
実行ファイルをバイナリエディタで開いて照合する箇所を飛ばす命令を書き込めば照合しなくなるぞ
実行ファイルをバイナリエディタで開いて照合する箇所を飛ばす命令を書き込めば照合しなくなるぞ
743デフォルトの名無しさん (ワッチョイ 2301-QdBY)
2022/11/12(土) 14:51:41.26ID:f1IcSnyo0744デフォルトの名無しさん (ワッチョイ e535-3ACM)
2022/11/12(土) 15:00:47.68ID:Y/i2pfZ30 >>734で良くね?
745デフォルトの名無しさん (ワッチョイ 4bcf-IBSA)
2022/11/12(土) 15:00:48.57ID:ajB/boEg0 ディスクに平文ファイルを書き出したところを盗まれる。
オンメモリでやりたいけどそっちはデータ実行で引っかかるんだよな。
オンメモリでやりたいけどそっちはデータ実行で引っかかるんだよな。
746デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/12(土) 15:02:24.87ID:YXyqvQzKa >>743
暗号化する部分とキーが平文だからだめだな
暗号化する部分とキーが平文だからだめだな
747デフォルトの名無しさん (ワッチョイ e579-vnW9)
2022/11/12(土) 15:11:29.38ID:c/ILT9OL0 まあ>>736の言う通りで
結局現行の高価な商用アプリはほぼシングルユーザーライセンスに移行してるし
今時ネットに繋いでないなんてありえないからKMSみたいに一定期間で認証させるとかだな
実行したらメモリに全部展開されるしそこ覗かれるようならローカルのファイルをいくら細工しても無駄だよ
結局現行の高価な商用アプリはほぼシングルユーザーライセンスに移行してるし
今時ネットに繋いでないなんてありえないからKMSみたいに一定期間で認証させるとかだな
実行したらメモリに全部展開されるしそこ覗かれるようならローカルのファイルをいくら細工しても無駄だよ
748デフォルトの名無しさん (ワッチョイ 4b7b-/xWR)
2022/11/12(土) 15:12:12.94ID:LpiKZFMR0749デフォルトの名無しさん (ワッチョイ e579-vnW9)
2022/11/12(土) 15:16:20.60ID:c/ILT9OL0 >>730
まずWindowsのGUIの基礎を確認した方がいいよ
メッセージループの仕組みやformの作成から表示までにどのイベントがどういう順序で呼ばれるかとか
shownのタイミングで設定が必要な場合もあるけど質問の内容はloadの段階で片がつくんじゃないかね
まずWindowsのGUIの基礎を確認した方がいいよ
メッセージループの仕組みやformの作成から表示までにどのイベントがどういう順序で呼ばれるかとか
shownのタイミングで設定が必要な場合もあるけど質問の内容はloadの段階で片がつくんじゃないかね
750デフォルトの名無しさん (ワッチョイ a301-xL83)
2022/11/12(土) 15:27:16.04ID:2L2Z04CZ0 ライセンス認証前提でレスしてる人が多いけど本当にそういう用途なのか?
今どきそんなことするかな?
今どきそんなことするかな?
751デフォルトの名無しさん (スップ Sd03-h6Ny)
2022/11/12(土) 15:54:02.21ID:ncy2h0/Ld そのパスワード認証必要?
752デフォルトの名無しさん (スップ Sd03-h6Ny)
2022/11/12(土) 15:56:41.52ID:ncy2h0/Ld 毎回入力させるのか
次回以降のためにキャッシュでファイルローカルに持たせた場合、どう保存するのか
次回以降のためにキャッシュでファイルローカルに持たせた場合、どう保存するのか
753デフォルトの名無しさん (ワッチョイ e535-3ACM)
2022/11/12(土) 16:04:56.79ID:Y/i2pfZ30 どうって普通にパスワード置くだけじゃね
754デフォルトの名無しさん (スップ Sd03-h6Ny)
2022/11/12(土) 16:21:43.32ID:ncy2h0/Ld 普通に置くパスワードって必要?
755デフォルトの名無しさん (ワッチョイ e535-3ACM)
2022/11/12(土) 16:29:23.68ID:Y/i2pfZ30 ?
756デフォルトの名無しさん (ワッチョイ 4bbb-vnW9)
2022/11/12(土) 16:39:07.13ID:ZNG2TRSk0 こんな感じで良いんじゃない?
・パスワードが保存されてるか確認
・パスワード入力
・ハッシュ値を比較
・(OK)ログイン/平文パスワードを適当に保存
・(NG)リトライ
次回以降
・保存されたパスワードとハッシュ値を比較
・(OK)ログイン
・(NG)パスワードファイルを消してリトライ
ハッシュ値の生成はレインボーなやつとか総当りとかまでは対策しときたいかなぁ
パスワード検証用によく使われるアルゴリズム使用して、saltでゲタ履かせてストレッチングで処理時間の確保ぐらいはしときたい
バイナリいじるやつまで考えると全然対策にならんけどねぇw
・パスワードが保存されてるか確認
・パスワード入力
・ハッシュ値を比較
・(OK)ログイン/平文パスワードを適当に保存
・(NG)リトライ
次回以降
・保存されたパスワードとハッシュ値を比較
・(OK)ログイン
・(NG)パスワードファイルを消してリトライ
ハッシュ値の生成はレインボーなやつとか総当りとかまでは対策しときたいかなぁ
パスワード検証用によく使われるアルゴリズム使用して、saltでゲタ履かせてストレッチングで処理時間の確保ぐらいはしときたい
バイナリいじるやつまで考えると全然対策にならんけどねぇw
757デフォルトの名無しさん (ワッチョイ e535-3ACM)
2022/11/12(土) 16:44:03.53ID:Y/i2pfZ30 Linuxはどうしてるんだろう
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化 過去10年間に使用のメールアドレスや電話番号等も [Hitzeschleier★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★2 [七波羅探題★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★3 [Hitzeschleier★]
- 【速報】年収の壁の自民案判明、26年は168万円 [蚤の市★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 「ワールドトリガー」原作1話から完全新作アニメ化、よりパワーアップした1stシーズンとして [爆笑ゴリラ★]
- 【悲報】鈴木農水大臣、国民から「こいつひょっとしてアホなんじゃね?」と思われ始めてしまうwww [793117252]
- 「ミニトマトがボウルに入ってるから使ったら残りはラップして輪ゴムしといてー」👉アスペ系旦那、とんでもない行動に出てしまう [242521385]
- 自閉症児の父親「中絶しておけば良かった。 家族が欲しかったのに、手に入れたのは人間たまごっち」 [777114754]
- 性獣フェラチオンが出現
- 【速報】統一教会から100万円の現金を受け取った疑いで現職大臣が辞職へ [709039863]
- お昼のまったり🍵😶‍🌫🤏すこすこハウス🏡
