ふらっと C#,C♯,C#(初心者用) Part156at TECH
ふらっと C#,C♯,C#(初心者用) Part156 - 暇つぶし2ch367:デフォルトの名無しさん
22/10/22 21:29:04.96 SCNLWEI10.net
tsは変性が無茶苦茶で整合性とれてないからデフォルト型引数ができるんだろ
URLリンク(qiita.com)

368:デフォルトの名無しさん
22/10/22 21:50:34.77 pZkxSUcfp.net
デフォルト型引数を導入は完全な上位互換ではなく何かしらの不都合があるからないってことかな?
よーわからん。

369:デフォルトの名無しさん
22/10/22 21:55:53.90 eEXfO1n1M.net
typescriptは出来立てはきれいな文法や仕様だった
ところが素のjavascriptの仕様がひどすぎてどんどん仕様追加していって
全部の機能を把握してコード書いてる人間はいないんじゃないかと言うぐらいカオス状態になってる

370:366
22/10/22 22:34:54.25 DoqTc5dI0.net
もちろんオーバロードも考えましたけども。
Mikuメソッドが30行くらいあって、negiが指定されてる場合に処理の真ん中あたりの2,3ステップだけnegi処理をやるっていう
すっごいオーバロードに向かない作り。
記述量も増えるし、一概にオーバロードっていう考えもどういうものかと。
それにメソッド定義時点で警告も何も出ないので、何か呼び出せる書き方があるのかなと思った次第です

371:デフォルトの名無しさん
22/10/22 22:37:13.17 sdxg/Y9t0.net
void Miku<T>(List<T> vol) => Miku<T, object>(vol);
この1行足すだけやん
コピペで作ろうとしてる?

372:デフォルトの名無しさん
22/10/22 22:38:02.72 sdxg/Y9t0.net
まちがえた
... => Miku<T, object>(vol, null);

373:デフォルトの名無しさん
22/10/23 10:00:46.08 +fqIJl0NM.net
>>364
警告出るわけがない
出るならコンパイラがおかしい
hatune.Miku<List<Person>,Address>(list,place);
みたいに型を省略しないでかけばいい
どちらにしても本当にジェネリック使うのが正しいのか考え直して欲しい

374:デフォルトの名無しさん
22/10/24 18:30:02.69 Pqz/1oYS0.net
where U : classの必要性がわからん
何も渡さないなら
Miku<T>(List<T> vol, object negi = null)
で良いんじゃないかとしか思えん

375:デフォルトの名無しさん
22/10/24 18:55:12.60 chiatfyX0.net
それAggregateの前でも同じこと言えんの?

376:デフォルトの名無しさん
22/10/25 17:31:24.22 /HcoEXSHd.net
中括弧というか、中括弧行がほぼ、空白行にみえて、鬱陶しい
vbしかやってこなかった弊害だな

377:デフォルトの名無しさん
22/10/25 17:37:21.21 qnnhkHib0.net
スコープが変わるからインデントを入れても空白行を入れても問題ない程度にはコンテキストが違うぞ
空白行は複数行のコードをいくつかのまとまりに分ける時に使うだろ?

378:デフォルトの名無しさん
22/10/25 18:41:46.55 tJBp4Vzi0.net
EntityFrameworkについての質問です。
同じDB(SQLServer)で2つのテーブルを使いたいのですが、現在すでにEntityFrameworkで登録しているテーブルに加え、
もう一つ別のテーブルを追加したいときどのように記述すればよいのでしょうか。
DataContextクラスをもう一つ作らないといけないのでしょうか。
よろしくお願いします。
URLリンク(imgur.com)

379:デフォルトの名無しさん
22/10/25 18:56:40.03 tQ39k2n1a.net
>>372
URLリンク(teratail.com)
dbは違うけどこれお前じゃね?

380:デフォルトの名無しさん
22/10/25 18:58:42.86 mfkWT+mt0.net
print(1%3);
なんでこれの結果が1になるんでしょうか
0.11111111になるかとおもってたんですが

381:デフォルトの名無しさん
22/10/25 18:59:45.45 tJBp4Vzi0.net
>>373
残念違います

382:デフォルトの名無しさん
22/10/25 19:06:06.10 tQ39k2n1a.net
>>374
余りが整数にならないわけないじゃん

383:デフォルトの名無しさん
22/10/25 19:18:16.71 Str/i4Gi0.net
>>370
中カッコが空白行っぽくみえるからVBで入れてた空白行をいれなくてよくていい感じだが
>>372
そもそもその一つ目のテーブルどうやったんだよ?
同じ手順で追加できるんじゃね

384:デフォルトの名無しさん
22/10/25 19:19:52.52 tJBp4Vzi0.net
すみません自己解決しました
public DbSet‹Article›~の下に
public DbSet‹追加したいテーブルのモデル›プロパティ名ゲットセットを追加して
ソリューションのMigrationsファイルを削除してやってみたらいけました

385:デフォルトの名無しさん
22/10/25 19:20:54.69 tJBp4Vzi0.net
>>377
同じ手順でやってみたのですがマイグレーションズファイルの中身が邪魔してたのかもしれません

386:デフォルトの名無しさん
22/10/25 19:21:44.69 510nTPbL0.net
非常に初心者スレっぽい流れ

387:デフォルトの名無しさん
22/10/25 19:57:45.49 mfkWT+mt0.net
bool rangeFunction(float value,float min,float max)
{
if(value > 0 && value < 3)
{
print("範囲内です");
return true;
}
return ;
}
ifの外でリターンを返すにはどうしたらいいんでしょうか?
範囲指定の関数になります。
もし範囲内であればtrueにします

388:デフォルトの名無しさん
22/10/25 20:00:18.67 qnnhkHib0.net
return value is >= min and <= max;

389:デフォルトの名無しさん
22/10/25 20:01:21.65 qnnhkHib0.net
つかprint(って何だ)をそんな変なところに入れんな

390:デフォルトの名無しさん
22/10/25 20:01:30.48 PDW864Oy0.net
>>374
%は余剰(割り算の余り)を求める演算子
1÷3=0余り1

391:デフォルトの名無しさん
22/10/25 20:05:37.53 PDW864Oy0.net
>>381
下の方のreturn ;をreturn false;にする

392:デフォルトの名無しさん
22/10/25 20:16:09.52 VW8svp7V0.net
>>374
もし良ければ、0.11111111 になると思った根拠を聞かせて

393:デフォルトの名無しさん (オイコラミネオ MM69-80Lh)
22/10/25 21:04:35.60 M/tJTOq7M.net
0.11111111.…(永久に循環)だったら =1だから間違ってはいないけどそういう問題でもない

394:デフォルトの名無しさん (オイコラミネオ MM69-80Lh)
22/10/25 21:05:06.09 M/tJTOq7M.net
二進数でが抜けてたな

395:デフォルトの名無しさん (ワッチョイ 1907-Rexe)
22/10/25 21:08:37.11 qnnhkHib0.net
算数苦手なんだろ
1/3が0.333...だから余りは1-0.333...×3で0.111...という発想なんだろうな
それでも0.000...だけどな

396:デフォルトの名無しさん (ササクッテロラ Sp11-LjDK)
22/10/25 21:10:47.53 JX+WIZlhp.net
整数の世界

397:デフォルトの名無しさん
22/10/25 23:46:02.17 GCi1IYdR0.net
print文はrangeFunction()呼び出し側に実装すべき

398:デフォルトの名無しさん
22/10/26 00:08:21.84 NhZ6Jc52a.net
VBSのこの配列はC#でどう表現したらいいのでしょう?xyhwはintです
data = Array(Array(x, y), Array(x + w, y), Array(x + w, y + h), Array(x, y + h))
COMを使う引数用配列の定義なのですが、これはCOMに型が違うと怒られました
var data= new int[][] { new int[]{ x, y }, new int[] { x + w, y }, new int[] { x + w, y + h }, new int[] { x, y + h } };

399:デフォルトの名無しさん
22/10/26 00:10:49.93 MPkBvgrP0.net
どういう型なのかVSが正確に教えてくれるのがこの言語の良さだが教えてくれないのか?
具体的にCOMのどの関数?

400:デフォルトの名無しさん
22/10/26 00:16:41.96 NhZ6Jc52a.net
photoshop.applicationのActiveDocument.Selection.Selectです

401:デフォルトの名無しさん
22/10/26 00:17:49.17 HZuVvHGf0.net
int配列じゃないじゃないか

402:デフォルトの名無しさん
22/10/26 00:24:02.09 NhZ6Jc52a.net
すみません。doubleでした。が、これでもエラーは変わらずです
data = new double[][] { new double[] { x, y }, new double[] { x + w, y }, new double[] { x + w, y + h }, new double[] { x, y + h } };

403:デフォルトの名無しさん
22/10/26 00:49:42.78 NhZ6Jc52a.net
自決。これでいけました
data = new object[] { new object[] { x, y }, new object[] { x + w, y }, new object[] { x + w, y + h }, new object[] { x, y + h } };

404:デフォルトの名無しさん
22/10/26 00:53:03.57 lrx3siXd0.net
おう早く成仏しろよ

405:デフォルトの名無しさん
22/10/26 06:08:13.19 h2Qffg100.net
定期的に自決してるネ

406:デフォルトの名無しさん
22/10/26 08:07:30.06 HZuVvHGf0.net
自決が自殺のことと知らず自分で勝手に言葉を作るやつが増えたんだろ

407:デフォルトの名無しさん
22/10/26 09:24:34.71 T9NC5dRR0.net
5chのノリに対して真面目に言われても。。

408:デフォルトの名無しさん
22/10/26 09:36:42.74 7O9MyaKx0.net
URLリンク(images.squarespace-cdn.com)

409:デフォルトの名無しさん
22/10/26 09:37:16.88 HZuVvHGf0.net
お前らノリじゃなく本気で知らんだろ
最初は俺も「さすがにそれを知らんやつはいないから冗談だ」と思ってたんだぞ

410:デフォルトの名無しさん
22/10/26 09:58:58.52 e8T4fz3Wp.net
varで勝手に型決めろって言っといて型が違うとか傲慢なw

411:デフォルトの名無しさん
22/10/26 10:12:48.45 HZuVvHGf0.net
varは型推論
型を自由に変えられるのはvbならvariant
C#ではCOMはdynamicで受けるのが定番

412:デフォルトの名無しさん
22/10/26 10:13:22.89 YS2geK1Yr.net
勝手に決めろというか推論だから、違ってることもあるんじゃねーの?

413:デフォルトの名無しさん
22/10/26 10:17:04.49 e8T4fz3Wp.net
object型が万能型って事かぁ

414:デフォルトの名無しさん
22/10/26 10:20:24.72 Do8Z1/L1a.net
objectじゃなくdynamicだっつってんだろw
objectにしたらobjectの持ってるメソッド以外使えないだろ

415:デフォルトの名無しさん
22/10/26 10:26:21.60 g9KqG/ntM.net
>>406
確定できる文法になっています

416:デフォルトの名無しさん
22/10/26 10:26:54.29 hM0WEApa0.net
>>384
なんで0.11111があまり1になるんすかね(´・ω・`)

417:デフォルトの名無しさん
22/10/26 10:28:54.49 g9KqG/ntM.net
>>410
0.11111ってどっから出てきたの?

418:デフォルトの名無しさん
22/10/26 10:29:16.86 lQW0CdoF0.net
基本的に型が合いませんって言われたらobject型を疑うようにしてる
クラス名の型にぶち込めばなんやかんやで動いてくれる

419:デフォルトの名無しさん
22/10/26 10:30:16.76 lQW0CdoF0.net
>>410
0.00000000…1だろ…

420:デフォルトの名無しさん
22/10/26 10:37:26.97 hM0WEApa0.net
>>382
どゆこと?特定の範囲内に収まってればtrueを返したい

421:デフォルトの名無しさん
22/10/26 10:40:48.05 yId2OGphp.net
>>410
整数しか無い世界の話に少数持ち出すなよw

422:デフォルトの名無しさん
22/10/26 10:46:07.05 g9KqG/ntM.net
あ、なるほど
0.33333333×3=0.99999999だから
余りは0.11111111ってことか!
完全に理解した

423:デフォルトの名無しさん
22/10/26 10:53:47.60 yId2OGphp.net
>>416
小学校からやり直せw

424:デフォルトの名無しさん
22/10/26 11:01:03.70 hM0WEApa0.net
>>415
少数使っちゃだめなんやね

425:デフォルトの名無しさん
22/10/26 11:01:38.87 Do8Z1/L1a.net
>>414
関数内をその一行だけにすれば特定の範囲内の時にtrueでそうじゃない時にfalseが返る
printはその返り値で分岐したらいい

426:デフォルトの名無しさん
22/10/26 11:04:11.58 Do8Z1/L1a.net
>>418
小学校でそう習わなかったか?
4÷3は1余り1
少数を使わないために余らせてるのに使ってどうするよ
1÷3は0余り1だろ
1個のリンゴを切らずに3人に平等に分けると1人0個ずつで1余る

427:デフォルトの名無しさん
22/10/26 11:06:44.91 NhZ6Jc52a.net
>>416-417
こういうの好き

428:デフォルトの名無しさん
22/10/26 11:09:20.02 4jVuVTojp.net
りんごじゃ半分にすればいいじゃんってなるから
もっと分けられないものを例えにした方がいい

429:デフォルトの名無しさん
22/10/26 11:11:52.88 Do8Z1/L1a.net
切らずにつってるのに切るバカには何言っても無駄だから

430:デフォルトの名無しさん
22/10/26 12:22:24.32 jqBYUPvjM.net
すりおろしたら良いじゃん

431:デフォルトの名無しさん
22/10/26 12:26:19.21 Do8Z1/L1a.net
そう言うこと言うやつは子猫でもすりおろすから

432:デフォルトの名無しさん
22/10/26 12:35:40.43 lBrQFFOa0.net
俺が咀嚼して2人には口移し

433:デフォルトの名無しさん
22/10/26 12:48:13.46 DNyqLTW70.net
ジャイアン、スネ夫、のび太で考えろよ

434:デフォルトの名無しさん
22/10/26 12:57:07.06 i0WUe8DpM.net
数直線を切る
デデキントの切断
整数を切断しても整数しか発生しない

435:デフォルトの名無しさん
22/10/26 20:25:34.79 hM0WEApa0.net
パブリック変数がスクリプトの銭湯二ズラーっと並びますが、これを折り畳める昨日はないのでしょうか
関数みたいに【】でくくることは出できないですし

436:デフォルトの名無しさん
22/10/26 20:28:15.82 1JfwFfQJa.net
#region
#endregion
で囲む

437:デフォルトの名無しさん
22/10/26 22:16:29.32 lQW0CdoF0.net
記事検索の機能をつけたいのですが
Title,Contentパラメータの入ってるリストで検索ワードで検索しどちらか片方でも入っているものを再度別リストにしたい場合ってどうやるのですか?
FindAllは完全一致じゃないとだめでしたよね?

438:デフォルトの名無しさん
22/10/26 22:30:34.01 MzASwS2c0.net
普通に

439:デフォルトの名無しさん
22/10/26 22:33:06.99 fUqihkJz0.net
var newList = list.Where(x=>x.Title.Contains(hoge) || x.Content.Contains(hoge)).ToList();

440:デフォルトの名無しさん
22/10/26 22:35:16.80 lQW0CdoF0.net
>>433
ありがとうございます
LINQ構文使うんですね

441:デフォルトの名無しさん
22/10/27 04:33:25.61 +0xiQnXe0.net
>>430
はい

442:デフォルトの名無しさん
22/10/28 18:26:15.47 HG0H6tJb0.net
プログラミンはある時を超えると急速に上達したりするでしょうか?
学習曲線というか
停滞しすぎなので、そうであればやる気になりますね

443:デフォルトの名無しさん
22/10/28 18:27:43.03 YfCj0B1j0.net
初歩で停滞してるやつは急速に上達なんかしないよ

444:デフォルトの名無しさん
22/10/28 18:36:43.66 1ARXQoUR0.net
初歩の方で躓いてたらそうかもしれん
右�


445:ィ上がりの階段状の成長曲線かな



446:デフォルトの名無しさん
22/10/28 18:50:51.32 9kHpqARR0.net
>>436
組めるようになって、組んだもののチェックができるようになったらそこで一旦は終わり
定年までハナクソでもほじっていればよい

447:デフォルトの名無しさん
22/10/28 19:04:40.27 HG0H6tJb0.net
まあ信じて頑張るしかないすね

448:デフォルトの名無しさん
22/10/28 19:18:00.09 ZZAq6DiJ0.net
>>436
書くより読もう

449:デフォルトの名無しさん
22/10/28 19:22:03.01 MkzS3v4A0.net
まあオブジェクト指向とかは書いてて初めて恩恵を感じてると理解したときになるほどって思ったことはあったな
設計もそうだけど

450:デフォルトの名無しさん
22/10/28 19:24:14.41 ZZAq6DiJ0.net
進次郎「感じてると理解したときになるほどと思った

451:デフォルトの名無しさん
22/10/28 19:37:56.31 yAiIpvPxM.net
世の中にある事象をある程度プログラムできるようになったらそこでいったん終了
ゲームでも作ってコードが汚いけど確実に動かせるレベルだな
次は他人のプログラムを見て設計的なことを学んで理解できて自分で同じように書けるようになったら次も終了

452:デフォルトの名無しさん
22/10/28 19:41:16.54 4sg0pV9K0.net
初学者のうちで一気に理解が深まったタイミングは
・デバッガが使えるようになった
・テストの必要性を感じて書いた
・リファクタリングできる気がしてやってみた
とかかなぁ
多分学習進度との関係もあると思うけど、思考が切り替わった気がした

453:デフォルトの名無しさん
22/10/28 19:58:42.59 yAiIpvPxM.net
最近の人はアルゴリズムを勉強しないらしいので暇だったら勉強してみ

454:デフォルトの名無しさん
22/10/28 20:14:56.13 HG0H6tJb0.net
頑張ります
unityやってます
デバッグは確かに課題です
どの部分に問題があるか分からなくて1日潰れる

455:デフォルトの名無しさん
22/10/28 21:39:09.15 yAiIpvPxM.net
ゲームのデバッグは経験かな
再現性がないと地獄だけどそのうち多分ここがおかしいとある程度わかるようになる
それまではこんなものかと思うしかない

456:デフォルトの名無しさん
22/10/28 21:42:39.07 GLKGqrevM.net
ゲームはどうやってテストしてんのか想像つかん
仕様書とか無限に分厚くなるだろ

457:デフォルトの名無しさん
22/10/29 04:45:42.61 qpmL7ZAma.net
ゲーム開発者だけど仕様書なんて先ずの実装が終わったら最後に辻褄合わせする位だよ。放置も多々ある。
後半はデバッグで出たのを出来る限り潰すイテレーションなのでデバッガーとプログラマーのやり取りで終始する感じ。
期限も工数も有限なので落とし所が大事

458:デフォルトの名無しさん
22/10/29 06:52:55.09 K4cJTF5F0.net
プログラミンはどれだけきれいに書けるカノ勝負でもあるんでしょうか
整理整頓されていないと頭がこんがらがる

459:デフォルトの名無しさん
22/10/29 07:24:30.88 K4cJTF5F0.net
>>448
問題の特定
これですね 当面の課題は

460:デフォルトの名無しさん
22/10/29 10:52:44.27 ajFln1b10.net
当面というか永遠の課題だぞ

461:デフォルトの名無しさん
22/10/29 11:07:47.06 FxlbVrY8p.net
>>451
コーディングが綺麗かってのと
構造が綺麗かってのはイコールじゃ無いからなぁ

462:デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
22/10/29 11:37:00.65 rhy5a3mta.net
Unityから始めたやつはだいたいその場しのぎのコードを書くしそれを教えたがるからUnity関連の情報はそんなのばっかになる

463:デフォルトの名無しさん (アウグロ MMfd-VnIt)
22/10/29 11:39:05.64 t5eKPicIM.net
でも正直unityに機能がないときはやらない仕様に変えたほうがいいまである
別に仕事でやってんじゃないし

464:デフォルトの名無しさん (ワッチョイ 4907-gxoH)
22/10/29 11:52:43.38 AHyDFjq20.net
クラスかタプル作ってオブジェクトの配列にすればいいのにやつら平気で複数の配列を使うし何でもかんでもシングルトンにするしそれ継承しなくていいだろってやつ継承するしnullチェックしないしバグ有りの同じコードを関数に切り出さずいくらでもコピペするしUnityのC#はマイクロソフトのC#のサブセットと信じてUnity関連以外の情報信用しないし

465:デフォルトの名無しさん
22/10/29 12:32:34.34 GsZMr1/10.net
静的クラス=イングルドンでしょうか?

466:デフォルトの名無しさん
22/10/29 12:36:23.71 D1cycp0Sa.net
プログラミング関連情報サイトは、自分の勉強がてらそれをネタに記事書いてるのが多いからな
言い方変えると初心者が記事書いてるからそんな情報ばっかになるんだよ

467:デフォルトの名無しさん
22/10/29 12:39:55.27 QGEirdnxa.net
>>457
小規模ならそれで十分
そんなところでわざわざガチる必要ない

468:デフォルトの名無しさん
22/10/29 12:40:47.02 rhy5a3mta.net
静的クラスはインスタンスを作れないクラス
例えばこれ
URLリンク(learn.microsoft.com)
シングルトンはインスタンスを一つしか作れないクラス
例えばこれ
URLリンク(learn.microsoft.com)

469:デフォルトの名無しさん
22/10/29 12:42:12.37 rhy5a3mta.net
>>460
だからいつまで経っても成長しないしすぐ困って人を頼らなきゃいけなくなるしできない癖に妙に偉そうだし

470:デフォルトの名無しさん
22/10/29 12:44:07.64 GsZMr1/10.net
>>461
なぜシングルトンのほうは静的クラスではいけないのでしょうか?

471:デフォルトの名無しさん
22/10/29 12:46:14.79 rhy5a3mta.net
>>463
そりゃそういう要件だからとしか
例えば上で上げたのはインターフェイスを実装してるだろ?
インターフェイスがインスタンスメソッドを要求してるからインスタンスを作らざるを得ない

472:デフォルトの名無しさん
22/10/29 12:56:28.03 GsZMr1/10.net
>>464

他にも静的クラスではなくシングルトンでないといけないケースはありますか?

473:デフォルトの名無しさん
22/10/29 13:21:19.43 rhy5a3mta.net
その二つならインスタンスが必要かどうかで全て言い表せるんじゃね
Unity界隈だとインスタンスを見失うからという間抜けな理由でシングルトンもどきを量産してるけどそういうのは普通引数で渡したりサービスプロバイダを使う
これらを使えばわざわざシングルトンとして設計する必要がない

474:デフォルトの名無しさん
22/10/29 14:43:07.27 GsZMr1/10.net


475:デフォルトの名無しさん
22/10/29 14:48:26.78 GsZMr1/10.net
「インスタンスが必要なケース」とは何でしょうか?
「インスタンスを見失う」とはどういう話でしょうか?

476:デフォルトの名無しさん
22/10/29 14:57:46.59 QL9IPKDOp.net
どこからでもすぐ呼べる便利クラス…にしたいけど
ぶら下がってるものがたくさんあるからインスタンス渡しでシングルトンなんじゃね?
使う側に配慮してんのさw

477:デフォルトの名無しさん
22/10/29 14:58:56.82 GsZMr1/10.net
public class Singleton {
 public string Name { get; set; } = "HAGE";
 private static Singleton singleton = new Singleton();
 private Singleton() {}
 public static Singleton GetInstange() { return singleton; }
}

var singleton = Singleton.GetInstance();
var name = singleton.Name;
↑このようなものはシングルトンを使わずに、

public static class NotSingleton {
 public static string Name { get; set; } = "HAGE";
}
var name = Singleton.Name;
↑このように静的クラスにすればいいと思うのですがシングルトンが必要な「インスタンスが必要」というのはどういうケースでしょうか?
シングルトンで保持するオブジェクトのクラスが他の設計者のものならこのようにはできないと思いますが、シングルトンのクラス自体のオブジェクトを保持するのであれば使い方も自分で決められるのでシングルトンにする必要性が分からないです。
そのようなケースでは使ってないという認識で合ってますでしょうか?

478:デフォルトの名無しさん
22/10/29 15:08:48.66 QL9IPKDOp.net
静的クラスで唯一無二ならそれがシングルトンやろい

479:デフォルトの名無しさん
22/10/29 15:10:32.88 QL9IPKDOp.net
静的クラスだけどインスタンス管理を独自でやって別オブジェクトを配るのはファクトリーだっけ?

480:デフォルトの名無しさん
22/10/29 15:37:22.23 lV3hVGRgM.net
>>470
結果的にシングルトンにする場合でもそれを使う側はそれがシングルトンだと意識しない方が後で変更する時に助かる
そのためにはインスタンスが必要
class Foo : IFoo {
private IBar bar;
public Foo(IBar b) => bar = b;
public void DoSomething() => bar.Hello();
}
class BarSinglton : IBar {
private static BarSingleton Instance { get; } = new BarSingleton();
public void Hello() => Console.Write("world");
}

var foo = new Foo(BarSingleton.Instance);
foo.DoSomething()
//////////////
class NewVersionBar : IBar {
public void Hello() => Console.Write("im not single");
}
var foo = new Foo(new NewVersionBar());
foo.DoSomething();
シングルトンじゃないのでFooは変えなくていい
シングルトンだとFooも書き換え必須

481:デフォルトの名無しさん
22/10/29 15:39:24.31 lV3hVGRgM.net
最後間違えた
静的クラスじゃないのでFooは変えなくていい
静的クラスだったらFooも書き換え必須

482:デフォルトの名無しさん
22/10/29 15:41:43.09 lV3hVGRgM.net
要するにDIするときにインスタンスが必要になるってこと
DIがなぜ必要かはSOLIDの原則を調べればわかる

483:デフォルトの名無しさん
22/10/29 15:45:47.27 pn62A2OL0.net
singleton とは、インスタンスを2つ以上作れらたら、マズイもの
よくあるのが、何々マネージャーみたいな管理オブジェクト。
管理者は1つで、その管理者が複数のインスタンスを作る。
この場合、管理者が2つあるとマズイ
1つしか存在してはならない、絶対的なもの。
神とか

484:デフォルトの名無しさん
22/10/29 15:57:07.69 u+PU0umT0.net
その例えは多神教全否定になるから不味いw

485:デフォルトの名無しさん
22/10/29 16:02:48.14 LKZb5SQz0.net
ひとつしか存在しない絶対的なものは「自分を認識する意識」くらいのものだ

486:デフォルトの名無しさん
22/10/29 16:37:09.15 GsZMr1/10.net

静的クラスとするよりもインスタンス化してから利用するように設計するほうが色々とメリットがあるのですね

487:デフォルトの名無しさん
22/10/29 16:57:12.41 /AmlPuyW0.net
>>462
偉そうとか言い出すとコンプレックスみを感じるな。

488:デフォルトの名無しさん
22/10/29 17:04:11.43 5hK4Xoona.net
>>480
何で人に物を聞くときに「聞かれたことにだけ答えろ」みたいな大きな態度を取る初心者にコンプレックスを感じなきゃいけないんだw

489:デフォルトの名無しさん
22/10/29 18:02:09.38 laG6hjw40.net
文字列もクラスもメソッドも全てが数値のみで管理されており
その数値のみでソースが無いプログラムでも今日制定に
流れを変更できるようになったら一気に理解が深まる。
オブジェクト指向だ、関数型だ、設計がー、なんてのは
一番浅い層の肌の色ぐらいにすぎない。

490:デフォルトの名無しさん
22/10/29 18:07:39.23 s+eFMxCE0.net
>>482
たしかになんか理解が深まったんだろうな
ただ機械側によりすぎて、お前の日本語は全然意味分からんw

491:デフォルトの名無しさん
22/10/29 19:49:40.68 lV3hVGRgM.net
アセンブラ?

492:デフォルトの名無しさん
22/10/29 20:06:55.26 /AmlPuyW0.net
>>481
そりゃ「お前のうんちくは今は要らない」と思われるからだろ。

493:デフォルトの名無しさん
22/10/29 20:11:24.34 5hK4Xoona.net
>>485
だからお前はいつまで経ってもコピペしかできないんだよ

494:デフォルトの名無しさん
22/10/29 21:38:27.72 /AmlPuyW0.net
>>486
コピペでわかるようなことを答えてるからでは?
俺オジサン側だけどあんまり悪い気がすること聞かれないぞ。聞かれた事しか話さなければ、案外聞いてくるよ。
「これ長いけど」って言ったら「今は良いです」とか言いよるけど、後で聞きに来たり。
関係性でしょこんなの。

495:デフォルトの名無しさん
22/10/29 21:42:16.29 AHyDFjq20.net
>>487
今いい関係性を築いてるつもりなのかw
とりあえず>>1を100回読んで首釣って来いw

496:デフォルトの名無しさん
22/10/29 21:43:38.37 PVOoqMZaa.net
いま?

497:デフォルトの名無しさん
22/10/29 21:50:18.46 /AmlPuyW0.net
>>488
今さら?

498:デフォルトの名無しさん
22/10/29 22:08:19.95 AHyDFjq20.net
>>490
しつこいな妬むなよw
お前がコピペしかできないのはお前の努力不足と才能不足で俺に責任はないぞ
>>1を100回読み終わったならすぐに川に行って首が釣れるまで帰って来るな

499:デフォルトの名無しさん
22/10/29 22:11:58.18 /AmlPuyW0.net


500:デフォルトの名無しさん
22/10/29 22:14:33.73 AHyDFjq20.net
お前は草と首の区別もつかんのか
つくづく使えんやつだな
だから人間関係もうまくいかないんだぞ

501:デフォルトの名無しさん
22/10/29 22:25:09.72 GqvAAO/X0.net
図星突かれたので頓珍漢な返ししかできません

502:デフォルトの名無しさん
22/10/29 22:33:09.26 AHyDFjq20.net
だろうな
まだ>>1も100回読めてないだろ

503:デフォルトの名無しさん
22/10/29 22:37:03.52 s+eFMxCE0.net
キモい奴らだな
消えろよw

504:デフォルトの名無しさん
22/10/29 22:38:53.69 AHyDFjq20.net
そのうち消えるんじゃね
お前も>>1を100回読んで消えとけよ

505:デフォルトの名無しさん
22/10/29 22:40:10.99 /AmlPuyW0.net
おい俺に言うのはわかるが、八つ当たりはやめとけよ。

506:デフォルトの名無しさん
22/10/29 22:41:41.43 AHyDFjq20.net
また来た
スレチだから八つ当たりしてないで早く消えろよ

507:デフォルトの名無しさん
22/10/29 22:42:38.45 AHyDFjq20.net
俺リアルで他人からお前らが言われてるようなこと言われたことないぞ
マジでスレチだからもう書くなよ

508:デフォルトの名無しさん
22/10/29 22:43:50.83 /Mu6PCns0.net
ネット上でもわかるこのキモさ
リアルでも煙たがれてそう。

509:デフォルトの名無しさん
22/10/29 22:45:01.83 AHyDFjq20.net
という初心者がいたわけよ

510:デフォルトの名無しさん
22/10/29 22:45:30.65 AHyDFjq20.net
マジでまだ続けるこのキモさよ

511:デフォルトの名無しさん
22/10/29 23:04:36.64 EUjMGqhh0.net
なんで盛り上がってるの?
だれか3行で頼む。

512:デフォルトの名無しさん
22/10/29 23:07:56.87 y8vo38aP0.net
5chでよく見かける
キチ2名の
打ち合い

513:デフォルトの名無しさん
22/10/29 23:12:18.42 AHyDFjq20.net
キチに絡まれるのは同レベルのキチだからな

514:デフォルトの名無しさん
22/10/29 23:16:29.83 i0vA1INFa.net
ていうかこのスレってコンプレックス持ち多すぎて書きにくいって前から思ってたわ
ちょっと変な初心者の話をしたら刺さったやつがすぐ絡んで来るから

515:デフォルトの名無しさん
22/10/29 23:24:53.08 FgOSZ1hPH.net
そんなんだからSESしかできないんだよ
もっと社会性を身につけないと

516:デフォルトの名無しさん
22/10/29 23:26:26.77 AHyDFjq20.net
よほど刺さったらしいw

517:デフォルトの名無しさん (ワッチョイ 1301-cPfV)
22/10/30 00:17:02.57 +d9s9Afp0.net
今HTMLとCSSでゴリゴリやりながらアプリ作ってるけど正直めちゃくちゃめんどくさい
自由度はHTMLとCSSの方が高いのかもしれんけどXamlとC#のGUIの簡単さってすごいなって思った

518:デフォルトの名無しさん
22/10/30 00:58:04.31 lsOA6XTZ0.net
>>510
俺は最近逆の感想しか抱いてないな
HTML/CSSの方が楽に綺麗な外観作れるし何よりもjsが超楽に非同期使えて有難すぎる
C#もお手軽シングルスレッド非同期あれば良いのにな
Unityのコルーチンもjsと比べるとめんどすぎ

519:デフォルトの名無しさん
22/10/30 01:14:27.44 +d9s9Afp0.net
>>511
await asyncじゃだめなの?

520:デフォルトの名無しさん
22/10/30 01:21:23.79 UmSlwLP00.net
HTMLとCSSが楽で良いと俺も思う。なんせ自分がやらなくてもデザイナーの人に入って貰えるし、それも単価が安いし。
最近はCSSも高級になったし、WebView2が使えるようになったのでかなり楽よね。
IEコンポーネント使わないといけないなら同意

521:デフォルトの名無しさん
22/10/30 02:27:29.10 2N6ePwSn0.net
単純なやつならxamlの方が楽だけどちょっと凝ったデザインにしようとすると記述量がめちゃ増えるのはなんとかしてほしい

522:デフォルトの名無しさん
22/10/30 03:33:26.24 mdQkS


523:umL0.net



524:デフォルトの名無しさん
22/10/30 07:16:53.81 +d9s9Afp0.net
CSSも増えるくね?
今Wiki作ってるけどマジで思うような挙動しないわHTMLとCSS
divを左と右に分けるのでもfloat:leftとfloat:rightの2つのCSS書かんといけないの面倒くさすぎる
文字を下揃えにするのもverticalalignmentとかhorizontalalignmentとか手軽なのがない

525:デフォルトの名無しさん
22/10/30 07:21:33.87 EP3eiSUOa.net
>>512
知ってるわけないじゃん

526:デフォルトの名無しさん
22/10/30 07:23:58.99 +d9s9Afp0.net
>>517
なんだ…知らないのか…

527:デフォルトの名無しさん
22/10/30 08:55:39.00 Y7MeHq5yr.net
>>516
すげえジジイがここにいたw
floatとかいつの時代だよwww
それでこんなにcssクソクソ言ってたのかw
オメーの無知で吠えてるんじゃねえよ

528:デフォルトの名無しさん
22/10/30 09:15:57.16 Ufi2KoCB0.net
>>516
今どきそんな太古の手段を発掘しつつわざわざ車輪の再発明をしているのはキミくらいのものであって、あえて言わせてもらうと、それらは文字通り「時間の無駄」でしかない
どうしても車両の再発明をしたいってことなら止めはしないけど、せめてモダンなCSSやフレームワーク等の「習作」として作成しよう

529:デフォルトの名無しさん
22/10/30 09:18:30.73 LXcqQo2MM.net
今ってflexboxレイアウトが主流じゃないの

530:デフォルトの名無しさん
22/10/30 09:42:14.23 UmSlwLP00.net
IEコンポーネントじゃないならflexとgridかな。
IEコンポーネントはバグが多いからかなり辛い。float使うのもわかる。
この調子だとHTMLも文字列で作ってそう。
適当なフレームワークに乗せるのが良いよ。MVVMにできるし。

531:デフォルトの名無しさん
22/10/30 09:42:37.39 lsOA6XTZ0.net
>>518
むしろjsにasync awaitあるの知らないんだね
未だにコールバック地獄でもしてんのかなw

532:デフォルトの名無しさん
22/10/30 09:46:55.44 UmSlwLP00.net
C#のasync awaitの話では?
なんか不自由あるんだろうか。
まあJSみたいにPromiseと可換になってると便利なのになと言うことはあるけど。

533:デフォルトの名無しさん
22/10/30 10:37:52.27 +d9s9Afp0.net
>>522
flexは頭にもう一個div入れないといけないじゃん

534:デフォルトの名無しさん
22/10/30 10:42:35.72 +d9s9Afp0.net
あとそんなもんネットに言え
こっちは色々調べながら最善の答え見つけとるんじゃ

535:デフォルトの名無しさん
22/10/30 10:54:18.58 Y7MeHq5yr.net
最善の見つけた答えがfloatww
ネットの調べ方もジジイレベルかよww

536:デフォルトの名無しさん
22/10/30 10:55:09.64 +d9s9Afp0.net
>>527
じゃあ何使うんだよ

537:デフォルトの名無しさん
22/10/30 11:02:31.77 Y7MeHq5yr.net
>>528
flexbox使え
すべてが解決できる

538:デフォルトの名無しさん
22/10/30 11:53:13.28 anVeQi4K0.net
>>505
thx

HTML & CSS は確かに便利なんだけど、たまにやるときれいさっぱり忘れてて思い出すのに時間がかかるのが難点。
なんというかクセというか、コツというか、そういうのを思い出せないと思うままにならない感じ。

539:デフォルトの名無しさん
22/10/30 11:54:53.34 dJTdnVox0.net
いい加減スレチじゃい

540:デフォルトの名無しさん
22/10/30 11:56:05.47 J5x/gUfla.net
>>1の読めないやつしかいないスレ

541:デフォルトの名無しさん
22/10/30 12:45:05.94 GxZBoAl/0.net
結論:XAMLとC#が最強

542:デフォルトの名無しさん
22/10/30 13:29:03.83 P8HVjCjE0.net
糞スレw

543:デフォルトの名無しさん
22/10/30 13:39:46.64 A1wSH6ms0.net
そりゃ初心者のうちメンタル弱くてやる気のない人が対象のスレだし回答してるのもおかしなこと言ってるのが多いから初心者なんだろうね

544:デフォルトの名無しさん
22/10/30 13:39:53.04 UmSlwLP00.net
>>525
入れれば良いのでは?
まあbodyもflexにできるけど。
上揃えも下揃えもflexの方が楽だけどなって。
xamlで言うFlexLayoutなので、多分こっちの方がxamarin以降のXaml移行組は楽だと思う。

545:デフォルトの名無しさん
22/10/30 16:21:32.75 DkOekoOd0.net
HTML+CSSってブラウザエンジンが必要になるのが馬鹿らしい

546:デフォルトの名無しさん
22/10/30 17:10:20.50 D3yBl/wLa.net
C#使ってる時点で利便性と引き換えに今時のパソコンなら問題ないと無駄を許容してるんだからそのくらい許容しろ

547:デフォルトの名無しさん
22/10/30 18:09:34.88 UmSlwLP00.net
>>537
とはいえWindows使う以上絶対載ってるし、現存する、ほぼ唯一のまともに日本語を表示できる描画エンジンじゃない?

548:デフォルトの名無しさん
22/10/30 19:49:11.19 5qpGtRvc0.net
>ほぼ唯一のまともに日本語を表示できる描画エンジンじゃない?
ブラウザのテキスト表示もOSの描画エンジンを使っていると思うが。

549:デフォルトの名無しさん
22/10/30 19:52:07.34 gI8+fygea.net
>>539
ごめん何言ってるかわかんない
酔ってる?

550:デフォルトの名無しさん
22/10/30 19:57:59.55 UmSlwLP00.net
>>540
オプティカルで文字を詰めながら禁則処理しつつ、左右均等揃えなんかしてくれないよ。
URLリンク(www.google.com)
>>541
そういう所だぞ

551:デフォルトの名無しさん
22/10/30 19:59:51.73 UmSlwLP00.net
すまん、あげたサイトはオプティカルじゃなくてちゃんとメトリクス使ってるんだな。

552:デフォルトの名無しさん
22/10/30 20:03:02.46 gI8+fygea.net
>>542
酔ってないのにそれかw
だからお前はリアルでも一人なんだよ

553:デフォルトの名無しさん
22/10/30 20:11:29.33 UmSlwLP00.net
ちゃんと批判して

554:デフォルトの名無しさん
22/10/30 20:13:47.95 LXcqQo2MM.net
いやいやw
現存する、ほぼ唯一のまともに日本語を表示できる描画エンジンって表現はおかしいだろw

555:デフォルトの名無しさん
22/10/30 20:15:35.13 LXcqQo2MM.net
ガチの高校生なのかな~

556:デフォルトの名無しさん
22/10/30 20:18:53.41 UmSlwLP00.net
え?ホント?みんなそんなに完璧に文字描けるの?そこまで請われることが無いとか…?
エッジケース考えたらブラウザ一択なんだけどな…。

557:デフォルトの名無しさん
22/10/30 20:29:28.84 UmSlwLP00.net
自力でコマコマとエンジンの挙動を微調整せずに一発で縦書きできるものがあったら逆に教えて欲しいわ…

558:デフォルトの名無しさん
22/10/30 20:38:47.22 LXcqQo2MM.net
基地外暴走中

559:デフォルトの名無しさん
22/10/30 20:53:05.32 UmSlwLP00.net
少数派だったならすまなんだ。

560:デフォルトの名無しさん
22/10/30 20:53:49.31 UmSlwLP00.net
※あるならホントに教えて

561:デフォルトの名無しさん
22/10/30 23:28:05.26 5qpGtRvc0.net
カーニングは昔からあるし、DirectWriteなら均等揃えもできるようだな。

562:デフォルトの名無しさん
22/10/31 00:03:20.79 Dc17vD4i0.net
>>553
まともにやるとIPAフォントあたりがかすれる。
それに、APIであって、エンジンじゃなくない…?
FormsとかWPFのレベルの話してるつもりだったんだけど。

563:デフォルトの名無しさん
22/10/31 00:31:05.85 fDaEiUpF0.net
ここってこんなギスギスしたスレだったっけ・・・
精神的に余裕ない人が流れ込んできたのか元からいる住人が加齢で狂ってきたのか

564:デフォルトの名無しさん
22/10/31 00:35:16.24 X/NTMpPpa.net
マウンティングが多すぎるよな
もっと謙虚な人が増えてほしい

565:デフォルトの名無しさん
22/10/31 00:40:19.81 WMzulB9K0.net
メンタル弱い豆腐初心者のスレがどうしてうまくいくと思えるのか
そりゃ豆腐が集まって自壊するに決まってんじゃん

566:デフォルトの名無しさん
22/10/31 00:43:10.47 Z4/NCeJU0.net
適材適所でいいんじゃね、と思う
メニューとかリストとか、Windowsライクならxamlで
縦書きにしたいならhtmlで

567:デフォルトの名無しさん
22/10/31 09:55:18.77 hhvP4eKN0.net
>>558
これはそうだね。語気が強かった。すまん。
まぁ、立ち戻って聞かれたこと答えて行くことにするわ。

568:デフォルトの名無しさん
22/10/31 09:56:54.26 jAJ0SKjra.net
あまり詳しくないんだからトンチンカンなこと答えなくていいと思うぞw

569:デフォルトの名無しさん
22/10/31 09:58:42.31 hhvP4eKN0.net
余計なこと言って「聞かれたことだけ答えろ」って思われても嫌だもんな

570:デフォルトの名無しさん
22/10/31 10:02:25.91 4vSdgrRSr.net
許してやろう

571:.NET MAUI HighScool
22/11/01 21:46:33.25 UUH/mDfh0.net
.NETがティックトック始めててワロタ
URLリンク(www.tiktok.com)

572:デフォルトの名無しさん
22/11/01 22:32:56.88 emsrAW8N0.net


573:デフォルトの名無しさん
22/11/02 18:31:31.44 fNjoEkdJ0.net
関数を変数に入れるメリットってなんですかね

574:デフォルトの名無しさん
22/11/02 18:40:44.48 SIAjnkFo0.net
メリットがわからない時はしなくていい
変数を使うと呼び出す関数を動的に変更できる

575:デフォルトの名無しさん
22/11/02 18:51:57.11 fNjoEkdJ0.net
了解す(´・ω・`)
動的というのが普通の関数との違いなのでしょうか

576:デフォルトの名無しさん
22/11/02 19:57:15.27 54NxTXJm0.net
コールバック関数とか?
クリックしたら○○しろとか
ツリーノードは色を塗るとき□□の処理で塗れ
とかの○○や□□の処理をインスタンス毎に後から設定できる

577:デフォルトの名無しさん
22/11/02 20:02:34.53 fWSRoPxp0.net
よく使うパターンは関数の引数に関数を渡すやつ
static void TripleCall(Action action){
action(); action(); action();
}

578:デフォルトの名無しさん
22/11/02 20:21:32.83 XpLTr/SKa.net
スレッドも登録元が関数を指定する必要があるから、動的に入れている

579:デフォルトの名無しさん
22/11/02 20:45:43.92 qyHEkcPy0.net
WinFormsで自動でボタンを押した時の処理が追加されたりするけどそれも
結局はその関数をイベントリスナーに登録している(つまりイベントリスナーに追加するときに関数を引数にしている)
知らずに使っている事が案外あったりする

580:デフォルトの名無しさん
22/11/02 20:48:02.32 047n0D5LM.net
変数じゃなくて定数じゃん

581:デフォルトの名無しさん
22/11/02 20:51:00.83 SIAjnkFo0.net
引数は変数だぞ
イベントハンドラを登録する時には演算子を使うけどその奥ではイベント登録関数の引数としてデリゲートが渡されてる

582:.NET MAUI HighScool
22/11/02 21:35:00.76 v08tA7cv0.net
ラムダ式の話じゃないの?

583:デフォルトの名無しさん
22/11/02 21:38:51.07 owhI4Qa1p.net
プロパティに式を仕込むと、思わぬ副作用があって詰むぞ
少なくとも中から呼ぶときくらいは実データにアクセスしようず

584:デフォルトの名無しさん
22/11/02 22:46:41.09 SIAjnkFo0.net
>>574
ラムダ式はデリゲートを作るための書き方にすぎんよ
それがデリゲート変数に代入されて初めて関数になる
Expressionに代入されると関数じゃなく式木になる

585:デフォルトの名無しさん
22/11/02 22:47:28.98 SIAjnkFo0.net
>>575
お前は式という言葉の意味も高階関数も知らんのか

586:.NET MAUI HighScool
22/11/02 23:25:22.77 v08tA7cv0.net
助けてくれうぜぇやつに絡まれたんだがHttpClientでjsでロードされる画像のURLを取得する方法ある?
プログラミングって実際もの作らないと身につかないよな
スレリンク(news4vip板)

587:デフォルトの名無しさん
22/11/03 00:13:01.70 0QCo1mM00.net
>>578
まずそのスレの1がうざい
どうせお前だろ

588:.NET MAUI HighScool
22/11/03 00:33:32.59 LxUg3x+60.net
>>579
俺だけど?
それより絡んでくるやつのほうがウザくね?

589:デフォルトの名無しさん
22/11/03 01:17:54.26 M3w0A0V30.net
jsでロードされるってなんなの?どういうこと?
HTMLに書かれたJavaScriptを動かしてHTMLというかDOMを更新して結果表示される画像のURLを取得したいってこと?
HttpClientで取得したHTMLをWebViewなりで解釈して実行しないとダメでは?ならWebViewで直接やれよという話でもあるが。
JavaScriptだけでロードされてるわけでもないんだし。

590:.NET MAUI HighScool
22/11/03 01:39:58.55 LxUg3x+60.net
>>581
多くの検索エンジンの画像検索は最初から全部画像を読み込むと膨大な量のデータをやり取りしないといけなくなりサーバーの負荷が大きくなるので
スクロールするとjsによりほしい分だけデータがロードされるというふうな実装になってる
俺はこういうサイトだとWebViewでjs使ってスクロールしてデータをロードさせてるんだけどこのクソうぜぇやつが言うにはそれはインスタントカレーで湯煎しかしてないゴミカスだと言ってくるわけ

591:デフォルトの名無しさん
22/11/03 01:44:02.63 M3w0A0V30.net
だから、それはJavaScriptだけではなくてDOMがないとあかんのではという話。
エンジンとして何を用意しないといけないか変わってくるじゃん。
(JavaScriptで画像を取得するロジックを走らせる、という言い方だと、プラグインシステムがJavaScriptでできてるとかそういう話になるんでは?)
スレ見てきたけど、そう言うところがダメなんじゃないの?

592:.NET MAUI HighScool
22/11/03 01:47:04.02 LxUg3x+60.net
DOMじゃなくてRegexでhtmlのimgタグの中身取ってきてるんだが
たぶんこいつはDOMを使ってないDOM使ってたらもっと謙虚だろ
むしろこれでDOM使ってたらブチギレるわ

593:デフォルトの名無しさん
22/11/03 02:24:14.27 rfkx/Wsp0.net
要はこのうざい奴はjavascriptでやってることを解析してC#するのがスマートだと言いたいんだろ
実際はアホな努力だが

594:デフォルトの名無しさん
22/11/03 02:27:39.09 rfkx/Wsp0.net
つっても画像検索の読み込みくらいなら単純なのかもな

595:デフォルトの名無しさん
22/11/03 05:39:29.72 vGCYuyMq0.net
たった1行の処理でも関数化してもいいのでしょうか?
大げさな感じもしますが

596:デフォルトの名無しさん
22/11/03 08:34:14.06 NbsIPyEs0.net
>>542
ケースバイケース
よくあるのはその関数を多くの場所で使っててなんかの拍子にその関数をおっきに変更することが想定される場合
あとはその関数にわかりやすい名前をつけたい場合とか

597:.NET MAUI HighScool
22/11/03 09:00:00.75 LxUg3x+60.net
>>585
だよな
なんでこいつはこれでイキってんのか不明

598:デフォルトの名無しさん
22/11/03 10:00:51.31 q0+PchV30.net
JavaScript なら、scrollTop とか、
最近は、IntersectionObserver とかもあるらしい

599:デフォルトの名無しさん
22/11/03 10:53:54.12 dhtr0mvLa.net
とりあえずjsでできることは全部c#でできるようにしてくんないと
誰かポリフィル作れということか

600:デフォルトの名無しさん
22/11/03 12:16:01.97 M3w0A0V30.net
>>584
imgタグを作ってるのがJavaScriptのDOM APIじゃない?

601:.NET MAUI HighScool
22/11/03 12:17:32.39 Kj7ywx2W0.net
>>592
つまりこいつはDOMを使ってるくせにイキってたってわけか?
だっさw

602:デフォルトの名無しさん
22/11/03 12:28:05.12 M3w0A0V30.net
DOM APIって何かわかってる?

603:デフォルトの名無しさん
22/11/03 12:31:33.00 irjlHMAba.net
>>594
BlazorはそれをRenderFragmentで作るんだぞ
これ読んでみろ
URLリンク(learn.microsoft.com)

604:デフォルトの名無しさん
22/11/03 12:39:09.32 M3w0A0V30.net
>>595
DOM APIを作るの?ちゃうでしょ…。
BlazorのうちWebなものはDOMを(もちろん内部的にはDOM APIを使って)作るけど、DOM APIを作ってるわけじゃ無いでしょ。
あくまでブラウザ、WebViewだったりWPFやXamarin.formsといった、レイアウトやレンダリングを行うエンジンへの架け橋で、そのレイアウト・レンダリングエンジンがWebViewなら、それはDOM APIを使って実現されると言う感じで。
これが俺が想定してたレンダリングエンジンで、その主語がデカかった理由。

605:.NET MAUI HighScool
22/11/03 12:41:37.25 Kj7ywx2W0.net
つまりそのGoでスクレイピングを作ってる奴は結局ルウからカレー作ってるように見せかけてインスタントカレー作ってたってことだろ?

606:.NET MAUI HighScool
22/11/03 12:42:38.00 Kj7ywx2W0.net
じゃあWebView使ってスクレイピングする方法と何ら変わらんだろって思ってブチギレるわけよ
あんだけ突っかかってきて作ったのインスタントカレーじゃんwってなるわけよ

607:デフォルトの名無しさん
22/11/03 12:44:00.31 M3w0A0V30.net
DOM → Document Object Modelなデータや構造
DOM API → Document Object Modelなデータや構造を操作するAPI群
という一般的な定義で話してる。
jsのライブラリで言えばparse5とかとjsdomの違いぐらいの話。jsdomがDOM APIを持ってるのが話がややこしい。

608:デフォルトの名無しさん
22/11/03 12:47:38.39 M3w0A0V30.net
>>598
何を怒ってるかわかんない。甘く見られたって事?
そんな事で怒らんでも良いじゃん。アホ過ぎるとこっちの話が理解できないこともあるよ。俺は計算資源さえ許せばちゃんとレンダリングした方がええでしょ、WebViewでもpuppeterとかでも。
うーん、jsとdomをエミュレートしてレンダリングするタイプは、要は突き詰めるとヘッドレスなブラウザを作ることと変わんなくなるので、確かに味は変わるが、ルーから作ると失敗するぞ言いたい。

609:デフォルトの名無しさん
22/11/03 12:48:40.21 M3w0A0V30.net
ええでしょ、と思うよ、だった。すまんね。

610:デフォルトの名無しさん
22/11/03 12:49:54.05 irjlHMAba.net
>>596
何を言ってるんだ
スクロールに従って画像を表示するのにDOMは使わないって話をしてるんだよ
<img src=@(img)/>と書きゃimg変数のURLにある画像が表示される
画面に表示されるとこだけそのタグを作る
タグを作るのにDOMは使わない
そういう話だ

611:デフォルトの名無しさん
22/11/03 12:55:41.20 M3w0A0V30.net
>>602
え?何言ってるの?「DOM APIが何かわかってる?」に対して「Blazorはそれを…」の返事に「違うよ」って返したんじゃん?
しかも、結局それBlazorはDOM APIを使って画面に表示するところだけそのタグ作ってるからね。

612:デフォルトの名無しさん
22/11/03 12:57:28.19 irjlHMAba.net
とりあえず元のスレでやれ
何がしたいのかよくわからんがお前がウザいのはわかった
スクレイピングの話なら素直にセレニウム使っとけ

613:.NET MAUI HighScool
22/11/03 13:01:54.15 fiCeisHS0.net
>>604
だからSelenium使わずにWebViewでやったらキチガイがSeleniumやWebViewは初心者wとか言って絡んで来たんだが

614:デフォルトの名無しさん
22/11/03 13:06:30.69 irjlHMAba.net
読む気にもならんから知らんが初心者が初心者向けの方法を使って悪いことは何もあるまい
お前が上級者だと言うなら他のやり方を気にせず上級者のテクニックを使ってスクレイピングとかいう糞みたいな作業を続ければいい

615:.NET MAUI HighScool
22/11/03 13:09:44.54 fiCeisHS0.net
>>606
バカにされたままだとうぜえからこのスキル使えるようになりたいと思ったがなんか無理そうだな

616:デフォルトの名無しさん
22/11/03 13:09:44.56 WOBTUDvw0.net
初心者がスクレイピングとか迷惑でしか無い

617:.NET MAUI HighScool
22/11/03 13:09:55.62 fiCeisHS0.net
>>608
なぜ?

618:デフォルトの名無しさん
22/11/03 13:18:41.93 kiz4JKw0a.net
Javascriptのインタプリタをつくればいいだけじゃないの?

619:デフォルトの名無しさん
22/11/03 13:39:14.90 q0+PchV30.net
漏れは、Ruby Selenium Webdriver で、ブラウザを自動操作してる。
サイトのログインとか
更に、Nokogiri でスクレイピングもできる

620:デフォルトの名無しさん
22/11/03 13:39:56.44 m6o3Pqh2d.net
MAUI「htmlを、regexでアクセスしてる」
うざいやつ「htmlは、DOM APIでアクセスしろ」
って事??

621:デフォルトの名無しさん
22/11/03 13:41:07.19 x8JkO9N7M.net
ていうかさあ
よそのスレで起こした(しかもお前が立てたスレの)揉め事をこのスレに持ち込んで助けを求めるようなことするなよ
ここで付け焼刃の知識を仕入れて建てたスレでイキりたいんだろうけど
そんなことやってて恥ずかしくないの?

622:.NET MAUI HighScool
22/11/03 13:44:22.86 ymgDfjLU0.net
>>613
俺は恥ずかしくないよ?

623:デフォルトの名無しさん
22/11/03 13:45:03.53 x8JkO9N7M.net
と思ったらMAUIの人か
じゃあ諭すだけ無駄か・・・・・
まあなんだ、VIP板とやらで頑張ってくれ
こっちに帰ってくるなよ

624:デフォルトの名無しさん
22/11/03 13:52:27.10 j+eH91hfa.net
MAUIに変なイメージついたな
マウイ高校の人に謝れ

625:デフォルトの名無しさん
22/11/03 14:03:01.23 tn2ZhR3p0.net
せっかくXamarinについた変なイメージを隠したのにな。

626:.NET MAUI HighScool
22/11/03 15:12:06.23 ymgDfjLU0.net
なんで俺は.NET MAUIの地位向上に努めてるのに避難されなきゃいけねぇんだ

627:デフォルトの名無しさん
22/11/03 15:34:50.67 WOBTUDvw0.net
>>609
・まともなクローラーが作れない
・テストを知らないから、未完成状態でサイトに頻繁にアクセスする
・例外処理の設計ができていないから、サイト側からフィルタされてもアクセスし続ける
結果:監視カメラの前で裸踊りしてる様子を記録されていることに気が付かない
スクレイピング対象になりえるサイトのデータの二次利用は民法的に大体アウト(良くてグレー、真っ白は基本的にありえない)
そのクソみたいなアクセスのせいで、サーバリソース追加しなきゃならんケースがあるからサイト側からすると迷惑でしかない

628:デフォルトの名無しさん
22/11/03 15:37:50.67 2Kw6fOvE0.net
散々イキりまくった挙句技術力不足で他人を頼ってくるとか情けなさすぎる
MAUIの地位を貶めるためにやってるんじゃないなら相当やばい

629:デフォルトの名無しさん
22/11/03 22:02:04.04 20/srh0o0.net
>>619
ヘッドレスブラウザでトライ&エラー繰り返されたらあれだろうがHttpClientでhtml単品要求してくるくらいなら別に自由にしたらって思うけどな

630:デフォルトの名無しさん
22/11/04 00:40:17.01 IgmKO4aZ0.net
HttpClient使わないとrobots.txtが取りづらいよな?という嫌味ならなるほどなとは思う。

631:デフォルトの名無しさん
22/11/04 19:03:03.51 nywf9UY+0.net
boolでは2つの返り値を持つ事はできないですか?
URLリンク(i.imgur.com)
ゲームで接地判定を作っているのですが、真ん中からレイを飛ばすと崖でレイが反応しなくなるので、このように両脇から2本飛ばしています。
判定用の関数を作ってます。

632:デフォルトの名無しさん (ワッチョイ 8bbb-/OGx)
22/11/04 19:12:28.11 7HgZbeW40.net
>>621
同じアドレスにウェイトなしアクセスをぶん回してくるやつとかいるんだぜ

633:デフォルトの名無しさん (ワッチョイ d941-2RrB)
22/11/04 19:22:14.68 IiXUZSOe0.net
>>623
boolでは2つの返り値を持つ事はできないです。
なぜならboolはメソッドではなく型だからです。

634:デフォルトの名無しさん (ラクッペペ MMeb-YnjT)
22/11/04 19:33:46.65 5m02ltgpM.net
Win32/C++
BOOL GetMessage(略) ・・・

635:デフォルトの名無しさん
22/11/04 19:37:37.70 kqfS0jzoM.net
>>623
(bool foo, bool bar) F() {
return (true, false)
}
var x = F();
WriteLine(x.foo);
WriteLine(x.bar);
(var a, var b) = F();
WriteLine(a);
WriteLine(b);

636:デフォルトの名無しさん
22/11/04 20:31:37.30 nywf9UY+0.net
>>627
bool型の関数の場合は1つしか持てないじゃないでしょうか

637:デフォルトの名無しさん
22/11/04 20:49:12.99 T0hKgiyQa.net
戻り値では無く引数にrefでboolを2つ渡せばいいんじゃ無い

638:.NET MAUI HighScool
22/11/04 20:50:56.37 OnPQoW1c0.net
.NET 7いつ降りてくるんだ?

639:デフォルトの名無しさん
22/11/04 21:08:53.29 u3TD418O0.net
>>629
相手すんなよ...

640:デフォルトの名無しさん
22/11/04 21:27:00.15 Fl24BIVd0.net
論理演算で一つにまとめればいいじゃん

641:デフォルトの名無しさん
22/11/04 21:31:27.64 SZTCZ5vE0.net
タプル使うと後が大変かも

642:デフォルトの名無しさん
22/11/04 21:57:15.77 8LyOgWL1a.net
タプルってディクショナリーで複合キーみたいに使えるんかね
dict[("aaa",1)]=456.8

643:デフォルトの名無しさん
22/11/05 00:03:26.00 z7QTqWos0.net
進次郎構文を質問に応用するとこうなるのか...

644:デフォルトの名無しさん
22/11/05 01:03:31.06 zPyCNtrD0.net
複数の引数を戻り値で受け取りたいとか言う奴いるけど
参照でええやん・・・

645:デフォルトの名無しさん
22/11/05 05:24:52.32 tZqy6bJ10.net
>>636
参照?どういうこと
普通に関数2つ作るのがシンプルかもしれませんね

646:デフォルトの名無しさん
22/11/05 06:12:30.08 tZqy6bJ10.net
プログラミングは日本語で言語化することが大事でしょうか
それがフローチャートだったりするのでしょうが

647:デフォルトの名無しさん
22/11/05 08:08:07.32 qYBt5eWid.net
「何をするプログラムなのか」「なぜこうするのか」といった仕様や意図を自然言語で分かりやすく正確に記述できる能力は重要
一般に日本人はそれを苦手とする者が多く、安易に図表に頼ったり、
自然言語で書くとなるとプログラムと逐次対応するような低レベルな記述(実質的にExcel方眼紙上でコーディングしているだけ)をする傾向がある

648:デフォルトの名無しさん
22/11/05 08:26:37.39 2xMBgYRAM.net
意味不明すぎる

649:デフォルトの名無しさん
22/11/05 08:34:43.47 yxkEcNx60.net
文章でグダグダ書かれるより図表や擬似コードで書いてくれた方が100倍マシ

650:デフォルトの名無しさん
22/11/05 08:36:00.30 sjtvh1h/M.net
visual transformer を図表無しで
納得させる資料を書いてから言え

651:デフォルトの名無しさん
22/11/05 08:43:50.98 3YlQFQnT0.net
質問者は投稿する前に、自分の質問をよく推敲しろよ。これはC#初心者以前の問題だ。
文章が意味不明で相手に伝わらず、あほな質問だと思われたらそれなりの答えしか返って来ないぞ。

652:デフォルトの名無しさん
22/11/05 09:40:58.84 yYAK326QM.net
>>638
大事ではないけど
言語化と言うかもともと何をしたいのかと言うことがはっきりしていて
それをコードに落とし込んでいるはず
ところが後でコードからその何をしたいかが読み取れない場合があるので
おおまかなコメントなどを残すことになる
細かく内容を記述するのは無駄だしコードを手直しするたびに書き換えるのは無理だ
フローチャートは階層が深くなる複雑な制御構造になる場合に脳で追いきれなくなる場合に描いたりすると便利なんだろうけど
大体みんなちゃんとしたものじゃなくて流れを落書きする程度だと思う

653:デフォルトの名無しさん
22/11/05 11:36:03.24 cwSbm70XM.net
>>638
よく言われるのは「How」はコードで書く
「What、Why」は自然言語や図表を使って書く、、、てこと

654:デフォルトの名無しさん
22/11/05 17:37:50.25 tZqy6bJ10.net
>>644
>>645
どうも
きれいなコードを書くことでフローチャートはいらないのかもしれないですね
処理は言語化しないと何をしてるのか分からなくなったりしますね

655:デフォルトの名無しさん
22/11/05 17:53:52.87 zg6rbg9v0.net
フローチャートなんてアセンブリ言語でしか使わんぞ
もしかしたらCでギリギリ使うこともあるかもしれんがオブジェクト指向言語では必要ない
オブジェクト指向言語でフローチャート使わなきゃならんとしたらその前にまずオブジェクトの設計がおかしい

656:デフォルトの名無しさん
22/11/05 18:13:19.21 jSE+d3f7M.net
>>645
Whatもコードで表現しようぞ

657:デフォルトの名無しさん
22/11/05 18:22:12.07 anrNho5cM.net
>>648
宣言的プログラミングだね
理想的だけど手続きを全て無くすのは難しい
コードはどうしてもハイブリッドになってしまう

658:デフォルトの名無しさん
22/11/05 18:26:36.41 pQZkgeTuM.net
オブジェクト指向言語で処理の流れを図示するならシーケンス図やアクティビティ図
静的な構造の図示はクラス図やパッケ


659:ージ図



660:デフォルトの名無しさん (ワッチョイ 9279-YsF2)
22/11/05 18:43:24.92 D4NMIenB0.net
アクティビティ図書くなら
フローチャートのがわかりやすいな

661:デフォルトの名無しさん
22/11/05 20:41:38.38 SeMW4Qkf0.net



662:VSがある程度自動的にクラス関係図生成してくれねぇかなあ



663:デフォルトの名無しさん
22/11/05 20:58:35.47 zg6rbg9v0.net
クラスデザイナーというのがあるからインストーラの個別のコンポーネントで検索してみろ

664:デフォルトの名無しさん
22/11/05 21:29:39.32 6Vg185nZ0.net
>>653
あれってCore系未対応じゃなかったっけ?

665:デフォルトの名無しさん
22/11/05 21:50:02.83 mwXpY34pM.net
>>649
HowだけでなくWhatもコードで表現しようとするのと宣言的プログラミングはちと違うんだが
いずれにしても重要なのは「仕様のWhat」を「コードのWhat」として対応付けること

666:デフォルトの名無しさん
22/11/05 22:06:58.20 neflR3f7M.net
>>652
クラス関係図ではないけどあるクラスのメソッドやフィールドと他のクラス(または外部ライブラリdll)への関係を図示するだけならコードマップ表示がある

667:デフォルトの名無しさん
22/11/05 22:57:43.05 x8IGYLJlM.net
Windowsフォームアプリ(.NET Core)のスケルトンコードより
フォーム初期化処理(InitializeComponent()メソッド)
URLリンク(i.imgur.com)

668:デフォルトの名無しさん
22/11/05 23:01:20.64 mbE+OsReM.net
>>655
ほとんど同じだよWhatをコードで表現しようとすると自然と宣言的になる
というか宣言的プログラミングがそういうもの
どうやってではなくてどうなって欲しいかを記述する

669:デフォルトの名無しさん
22/11/06 00:37:13.40 zZNJQBYc0.net
>>656
使用環境条件が厳しい
コード マップを使用して依存関係をマップする
URLリンク(learn.microsoft.com)
>コード マップの作成および編集には、Visual Studio Enterprise エディションが必要です。
>ただし、Visual Studio Community および Professional エディションでは、Enterprise エディションで
>生成されたダイアグラムを開くことはできますが、編集することはできません。

670:.NET MAUI HighScool
22/11/06 00:58:03.81 Am1kuzif0.net
.NET 7についての前情報得てるやついる?
どんな感じなんだろ?

671:デフォルトの名無しさん
22/11/06 02:59:28.10 3Vlqt+cVa.net
質問です。
構造体を使っていて関数内でnewしてそこで使い終わる(ボクシングしない)場合は、stackに乗るだけなので、heapは汚さないしgcには影響無い認識でいいですよね?ゲームを作ってるのでgcの影響を少なくしたいんです。

672:デフォルトの名無しさん
22/11/06 07:14:57.83 t/MPMTDqM.net
構造体でもインスタンス生成してる時点でガベージコレクションの対象
.NETでは値型であろうが参照型であろうがすべての変数は監視下に置かれる
ボクシングは値型の変数を参照型(object型)変数に代入する時に一時インスタンスを生成して値をコピーして渡す機能なので全く関係ない話

673:デフォルトの名無しさん
22/11/06 07:30:46.83 mzFwuoQr0.net
>>661
> 構造体を使っていて関数内でnew
よくわからんからコードで示して

674:デフォルトの名無しさん (ブーイモ MMad-yfbC)
22/11/06 09:30:46.32 OgJKt7GdM.net
>>661の理解で正しいよ。>>662は間違い。
値型は単なるデータ構造であり、それ自身はGCの管理対象にならない。

675:デフォルトの名無しさん (ブーイモ MMad-yfbC)
22/11/06 09:45:40.42 OgJKt7GdM.net
ただし、もちろん値型の変数を使ったらその先が全てGCの追跡の対象外になるわけではなくて、値型に定義された参照型の変数はGCの追跡対象となる。
上に述べた通り値型は単なる埋め込みのメモリのデータ構造なので、それ自体は単にGCをバイパスする。
そして、最終的にメモリ上に展開された構造のうちで参照型の変数だけが追跡対象となるわけ。

676:デフォルトの名無しさん
22/11/06 09:52:21.19 mzFwuoQr0.net
>>664
newしてても?

677:デフォルトの名無しさん
22/11/06 09:54:44.02 zZNJQBYc0.net
値型のintでも実際はSystem.Int32構造体のインスタンスではなかったっけ?
MaxValue、MinValueなどのプロパティやToString()などのメソッドが使えたはず
値型の変数でもGCが追跡しているのでは?

678:デフォルトの名無しさん
22/11/06 09:57:00.84 OgJKt7GdM.net
>>666
構造体のnewは、スタック又はそれを保持する参照型オブジェクト上に事前に確保された領域に対し、コンストラクタをインプレースで実行する
新たなインスタンスを生成している訳ではない

679:デフォルトの名無しさん
22/11/06 10:00:33.74 OgJKt7GdM.net
>>667
値型に対してObjectクラス又はValueTypeクラスのメソッドを呼び出そうとすると、その時点でボックス化が発生し、ヒープ上に新たなインスタンスが生成される

680:デフォルトの名無しさん
22/11/06 10:06:01.01 sZiKsnj+0.net
ポインタがオマケでつくかつかないかだけなのか

681:デフォルトの名無しさん
22/11/06 11:39:39.10 8lzCZdko0.net
なんか久し振りにここでためになる話を聞けた気がする。
横からだけど、ありがとう。

682:デフォルトの名無しさん
22/11/06 12:23:04.83 eRXytuty0.net
>>662のしったか具合がやばい

683:デフォルトの名無しさん
22/11/06 12:28:55.33 46oDEsAIa.net
このスレは前からそんなもんだろ
素人が知ったかして嘘ばかり教えるスレ

684:デフォルトの名無しさん
22/11/06 13:25:57.55 zZNJQBYc0.net
intの構造体はC/C++で言うところの自己参照構造体を強引に組み込み型として実現してるっぽい
URLリンク(qiita.com)

685:デフォルトの名無しさん
22/11/06 13:54:54.11 FxP86aLpM.net
>>674
この記事では、そもそもなぜ再帰的な定義になっていて、それがどのように機能するかの説明にはなっていないような
C#のintやInt32型の変数は、実際にはどちらもILのプリミティブ型であるint32型にコンパイルされるんだよ
つまりInt32をint32型のフィールド一つだけを持つ構造体として定義してやれば、Int32とint32のメモリ上のレイアウトが同一になる
あとはコンパイラの型チェックを細工して、それらを区別しないようにしてやればよいというわけ

686:デフォルトの名無しさん
22/11/06 14:38:11.76 mupUNnkwa.net
>>664
680です!有難う、スッキリしました!

687:デフォルトの名無しさん
22/11/10 02:43:44.58 nQDHqGzi0.net
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件程度です、他によい方法がありましたらアドバイスおねがいします

688:デフォルトの名無しさん
22/11/10 03:37:46.97 +sVvBbXs0.net
>>677
その程度のことで人に聞くならプログラムなんかするな


と言いたいところだが

タブで区切れ

689:デフォルトの名無しさん
22/11/10 05:44:42.33 nQDHqGzi0.net
>>678
ツイッターとか5chとか不特定多数のユーザが書き込みをできるシステムで
タブは絶対にユーザーが埋め込むことができない文字ということですか?

690:デフォルトの名無しさん
22/11/10 07:09:23.51 m98zu82a0.net
適当なで区切る
データにその記号があればエスケープしておく

691:デフォルトの名無しさん
22/11/10 07:45:50.73 nQDHqGzi0.net
>>680
例えば|chinko|という区切り文字を使っている場合にユーザーが|chinko|と書き込んだ場合
APIから取得時に|ちんこ|と置き換えておくと言う事ですね、表示するときには|chinko|に戻すと
現状改行コードを置き換えて保存しているので、そこにまとめて組み込めば楽そうです

692:デフォルトの名無しさん
22/11/10 08:16:38.34 XxWk5gSzr.net
文字列の改変で(削除でもなく)、エスケープとかサニタイズを独自に実装するのは苦労すると思うよ

693:デフォルトの名無しさん
22/11/10 08:34:01.14 9mQBoBy40.net
>>677
もしよろしけば下記について教えてほしい
その上で「JSON形式ではダメな理由」があるなら、それも教えて
1. 「保存」の目的(保存したデータの利用目的)
2. 現状の保存形式を選択した理由

694:デフォルトの名無しさん
22/11/10 09:11:14.02 O+ugNNB7M.net
xmlもjsonもエスケープ方法は規格として決められている
オレオレエスケープなんか考えなくても偉い人が作ったものを黙って使えば良い

695:デフォルトの名無しさん
22/11/10 09:13:17.40 TJ0qCovBd.net
ファイルに保存する際の定石をよく分かってないだけでしょ
JSONやXMLでもいいけど、この場合普通に一つのツリーとして書き出すと追記できなくて不便そうだから、JSON Linesがお勧めだな
Excelなどで表として扱いたいならCSVでもいいがJSON Linesよりはフォーマットにバリエーションがあるから考慮すべきことは多くなる

696:デフォルトの名無しさん
22/11/10 09:42:00.83 hu9oTdXa0.net
目視もしたいなら尚更そのままjsonでええやん

697:デフォルトの名無しさん
22/11/10 10:19:10.77 24bGZvg4a.net
最近学びはじめてC♯ではメインメソッドを省略できるということで楽だなーと思っていたら関数のオーバーロードのところでエラーが出てしまいました
従来通りクラス名とメインメソッドを書くやり方だと普通に出来たのでローカル関数(オーバーロードできない?)として認識されているためエラーが出てるという認識で合っていますか?
メインメソッドを省略した場合どうやってもオーバーロードできないのでしょうか?

698:デフォルトの名無しさん
22/11/10 10:33:00.98 vuUWLQnn0.net
>>687
トップレベルに書かれたメソッドはローカル関数になります
cf) //ufcpp.net/study/csharp/misc/miscentrypoint/#top-level-statements

699:デフォルトの名無しさん
22/11/10 11:17:10.46 eH71UEsUa.net
>>681
違う、それだと |ちんこ| と書き込んだら |chinko| になっちゃうだろ
|chinko| と書き込まれてたら |エスケープ||chinko| にして、表示する時に |エスケープ||chinko| を |chinko| に戻す
ただこれだと |エスケープ||chinko| って入力されたら |エスケープ| が無くなっちゃうから |エスケープ| 自身もエスケープして |エスケープ| が来たら |エスケープ||エスケープ| にして、表示時に |エスケープ||エスケープ| を |エスケープ| に戻す
※ |エスケープ||chinko| の保存データは |エスケープ||エスケープ||エスケープ||chinko| になる
まあ>>684の言う通りオレオレエスケープは知識としては知っておくべきだけど自前で実装するよりライブラリ等に頼った方がいいと思うよ

700:デフォルトの名無しさん
22/11/10 12:01:29.52 24bGZvg4a.net
>>688
ということはオーバーロードを使いたい場合トップステートメントのあとにクラスやら定義してから関数作るか別のファイルで作って呼び出すしかないという認識でいいですか?

701:デフォルトの名無しさん
22/11/10 12:31:50.00 vuUWLQnn0.net
>>690
それでいいと思います
ただ、そこまで色々するのならトップレベルに書かず普通に書いた方が分かりやすいんじゃないかなという気もしますが

702:デフォルトの名無しさん
22/11/10 12:55:47.41 24bGZvg4a.net
>>691
なんかどうなのかな?ってもやもや気になってしまって
教えてくれてありがとうございましたスッキリしました!

703:デフォルトの名無しさん
22/11/10 15:17:52.70 F9S+K/27M.net
CSVのreader/writerは標準では無いんだね

704:デフォルトの名無しさん
22/11/10 18:43:48.03 NDp6c9mu0.net
>>693
readerというかParserはあるよ
TextFieldParserクラス
URLリンク(dobon.net)
同じところに載っている独自解析のサンプルや自分でParser作った方が動作は若干早くなるだろうけど

705:デフォルトの名無しさん
22/11/10 18:44:43.64 QLIhXLlU0.net
ツイートって文字数決まってなかったっけ?
このパターンなら昔は固定長とかも候補になっただろうに
最近の文字コード事情考えると固定長は厳しいよなぁ

706:デフォルトの名無しさん
22/11/10 19:17:24.93 BjQppGzz0.net
拡張性とか無くなるけど
本文の位置をラストにしてcountを渡せば
Split一発で配列に出来るかも

707:デフォルトの名無しさん
22/11/10 20:27:59.70 m98zu82a0.net
5chのDATのようにHTMLエンコードして改行を<br>で置き換えたものを<>で連結するフォーマットは何気に簡単でいいね

708:デフォルトの名無しさん (オイコラミネオ MM91-o+MF)
22/11/11 11:48:16.03 V/N8drZJM.net
ここで出てる案だと普通はタブ区切りがいい
汎用性がある
excelやpythonのpandasでシンプルに読める
VSCodeでアドインもある

709:デフォルトの名無しさん
22/11/11 12:23:50.12 z+UtuJ+k0.net
>>698
>>679 の回答によると思うが

710:デフォルトの名無しさん
22/11/11 12:29:30.36 8WOXnYS7M.net
システムとして必要がないので抹殺するのみ

711:デフォルトの名無しさん
22/11/11 13:24:51.05 zPVyBVcV0.net
馬鹿みたいにHTML解析してデータ取得してるならまだしも普通にapi投げてるならjson一択やろ

712:デフォルトの名無しさん
22/11/11 13:33:07.32 OBpw9JhUa.net
ふつーYAML

713:デフォルトの名無しさん (ワッチョイ a2bd-+nMC)
22/11/11 16:29:42.18 WVb8D07I0.net
初めまして。
.NetCoreでコマンドラインみたいな改行させながらのログ表示をさせようと思ったのですが、どんなコントロール使えば良いのでしょう? 出来れば履歴遡れるようにスクロールバー付きで。
ラベルもテキストボックスもうまく表示してくれない・・・shownイベント以下に書いたからかな。

714:デフォルトの名無しさん (ワッチョイ f533-rIwK)
22/11/11 16:42:33.46 GYEdeJz40.net
>>703
画面への表示は何を使ってるの?
WinForms? WPF? それともそれ以外の何か?

715:デフォルトの名無しさん (アウアウウー Sacd-Aj/S)
22/11/11 16:50:47.79 YvvI/C4ma.net
同じところで普通に文字列渡したら表示されるなら読み込みに失敗してるのでコントロールのせいではない

716:デフォルトの名無しさん
22/11/11 18:11:52.32 FjpNhKohp.net
ただのテキストボックスとかラベルだと
そのとき持ってるテキストしか表示しないから
アペンドしてくしか無いんじゃね?

717:722
22/11/11 18:23:04.48 WVb8D07I0.net
 反応ありがとうございます。
>>704
 WinForm使っています。
 ・・・と、プロジェクト作成時に指定したと思ったのですが、プロジェクのプロパティを確認したら少し違っていました。
 Windowsフォームなのは間違いないですが、.NetCoreではなく.Net6.0でした。
 .NetとかCoreとかframewaorkとか、まだよく分かっていません。取り敢えず.Netにしとけって感じみたいですが。
 WPFはまだ私には早いらしいから避けて通ろうと思います。
>>705
 Form.Textは望んだ通りに表示されたのですけどねw
 当初 public Form1()の InitializeComponent();以下に記述していたのですが、処理が全部終わってからForm作画に入るのでShownイベントに移動したのですが・・・念を入れて配置した中断ボタンも作画されず穴開き状態で、ShownはFormの配置が終わった直後であって総ての配置が終わった跡ではないって事ですかね。 私が書いたのは読んだファイルを加工して別ファイルに書き出している程度のモノなのですが、普通の処理はどこに置けば良いんでしょうね。 要勉強なり。

#よく分からないまま入門しているから、一つの質問の不明部分を細く要件定義していくと目も当てられない長さになりますね・・・。

718:722
22/11/11 18:24:05.80 WVb8D07I0.net
>>706
 なるほど・・・試してみます。

719:デフォルトの名無しさん
22/11/11 18:38:29.81 k1VRcWZVa.net
キモイインデント

720:デフォルトの名無しさん
22/11/11 19:16:48.66 7I/0fxGc0.net
>>707
GUIなので実行ボタンでも押した時に処理すればいいんじゃないですかね?
ボタンの配置は気合を入れなくてもツールボックスからマウスでポトペタすると完成ですよ

721:722
22/11/12 06:25:09.95 gXw8amZq0.net
>>710
 ボタンスタートと言う方法なら今の実力でも綺麗に収まると思うのですが、D&Dかダブルクリックで起動したら後はノンストップで処理してひっそり終了してもらいたいので、ボタンでワンストップは仕様として煩わしい。
 と言う美学的な理由でやろうとしないのでした(^^;
>>706 改めまして。
 実装してみました。
 TextBox.Text += newword;的な記述をして痛い目を見ました。 TextBox.AppendText(newword);としないといけないんですね。
 ついでに初期設定で TextBox.ScrollBars = ScrollBars.Both;でスクロールバーも付けました。
 buttonは機能しないのに、TextBoxは問題なく機能していますね。何故だろう。
 早くshownからどっかに移動しないとですね。

722:デフォルトの名無しさん
22/11/12 09:45:26.79 zAtFaE7C0.net
スタンドアローンなアプリで、アプリの起動をパスワード保護したいのですが、ILSpy等で丸見えにならない程度の強度を持つにはどのような方法がありますか?

723:デフォルトの名無しさん
22/11/12 09:59:48.08 tbSOUgpp0.net
C#以外でdllにしとけば?

724:デフォルトの名無しさん
22/11/12 10:23:23.19 B4kjFmw80.net
>>712
パスワードチェックロジックを難読化ツールでぐちゃぐちゃにすると追う気無くなる

725:デフォルトの名無しさん
22/11/12 10:29:06.28 ZNG2TRSk0.net
>>712
適当なアルゴリズムのハッシュ値を比較すれば?

726:デフォルトの名無しさん
22/11/12 12:11:02.84 Ra6ElU+i0.net


727:デフォルトの名無しさん
22/11/12 12:12:52.85 bRljaFHR0.net
>>712
んなもんローカルに全てのデータがある時点で何しても無駄
ILだけ対策すればいいならネイティブコンパイルすればいい
そうすりゃ他のネイティブアプリと同じく機械語になるから

728:デフォルトの名無しさん
22/11/12 12:13:15.16 Ra6ElU+i0.net
k

729:デフォルトの名無しさん
22/11/12 12:17:11.67 Ra6ElU+i0.net
n

730:デフォルトの名無しさん
22/11/12 13:44:40.40 4XgMUuW5M.net
>>712
アプリの本体をパスワード付きzipかなんかで圧縮しといて動的にロードする

731:デフォルトの名無しさん
22/11/12 13:48:14.08 YXyqvQzKa.net
>>720
ダサすぎるし解凍したところでコピーできんじゃん

732:デフォルトの名無しさん
22/11/12 13:55:42.98 guv9Rfqm0.net
パスワードのみのテキストファイルを
そのパスワードでzip圧縮
解凍成功と中身の照合で実行継続か

733:デフォルトの名無しさん
22/11/12 13:57:46.17 YXyqvQzKa.net
>>722
実行ファイルをバイナリエディタで開いて照合する箇所を飛ばす命令を書き込めば照合しなくなるぞ

734:デフォルトの名無しさん
22/11/12 14:51:41.26 f1IcSnyo0.net
>>722
それでいいなら主要なコードを暗号化しといて解凍したコードを動的ロードして実行すれば>>723みたいな攻撃にも耐えられるな

735:デフォルトの名無しさん
22/11/12 15:00:47.68 Y/i2pfZ30.net
>>715で良くね?

736:デフォルトの名無しさん
22/11/12 15:00:48.57 ajB/boEg0.net
ディスクに平文ファイルを書き出したところを盗まれる。
オンメモリでやりたいけどそっちはデータ実行で引っかかるんだよな。

737:デフォルトの名無しさん
22/11/12 15:02:24.87 YXyqvQzKa.net
>>724
暗号化する部分とキーが平文だからだめだな

738:デフォルトの名無しさん
22/11/12 15:11:29.38 c/ILT9OL0.net
まあ>>717の言う通りで
結局現行の高価な商用アプリはほぼシングルユーザーライセンスに移行してるし
今時ネットに繋いでないなんてありえないからKMSみたいに一定期間で認証させるとかだな
実行したらメモリに全部展開されるしそこ覗かれるようならローカルのファイルをいくら細工しても無駄だよ

739:デフォルトの名無しさん
22/11/12 15:12:12.94 LpiKZFMR0.net
なんか変に面倒な方向にしようとする人たちがいるな
>>712
パスワードを知られたくないだけなら>>715で十分。MD5でもSHA-512でもお好きなもので
パスワード起動部分を突破されたくないなら>>717

740:デフォルトの名無しさん
22/11/12 15:16:20.60 c/ILT9OL0.net
>>711
まずWindowsのGUIの基礎を確認した方がいいよ
メッセージループの仕組みやformの作成から表示までにどのイベントがどういう順序で呼ばれるかとか
shownのタイミングで設定が必要な場合もあるけど質問の内容はloadの段階で片がつくんじゃないかね

741:デフォルトの名無しさん
22/11/12 15:27:16.04 2L2Z04CZ0.net
ライセンス認証前提でレスしてる人が多いけど本当にそういう用途なのか?
今どきそんなことするかな?

742:デフォルトの名無しさん
22/11/12 15:54:02.21 ncy2h0/Ld.net
そのパスワード認証必要?

743:デフォルトの名無しさん
22/11/12 15:56:41.52 ncy2h0/Ld.net
毎回入力させるのか
次回以降のためにキャッシュでファイルローカルに持たせた場合、どう保存するのか

744:デフォルトの名無しさん
22/11/12 16:04:56.79 Y/i2pfZ30.net
どうって普通にパスワード置くだけじゃね

745:デフォルトの名無しさん
22/11/12 16:21:43.32 ncy2h0/Ld.net
普通に置くパスワードって必要?

746:デフォルトの名無しさん
22/11/12 16:29:23.68 Y/i2pfZ30.net



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch