C#, C♯, C#相談室 Part94

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 935f-5Uxj)
垢版 |
2019/03/20(水) 18:57:36.47ID:ZZcTomnN0
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2021/03/02(火) 13:46:57.03ID:aNpoIySJ0
>>397
>コンピュータウィルスについて調べていて
>病原体のウィルスをコンピューターウィルスと比較する記事が
>引っかかってしまうのは"computer virus"なんて名付けた人のせいか?

ああ、その通りだ
MSと同じぐらい馬鹿だ
お前はもっと馬鹿だけどな
2021/03/02(火) 14:02:53.25ID:ySPOSnUq0
スレチだけど新しい言葉を作る時って既存の単語を組み合わせるケースが多くない?
それをバカ呼ばわりってどんだけ増長してるの
2021/03/02(火) 15:00:01.18ID:z4+VCCgc0
命名なんてかばん語と既存単語が殆どで、
オリジナルの単語なんてまず無いし、
オリジナルの単語はイメージ付けづらくて廃れがち
検索エンジンが検索する人をバカにしすぎなだけ
2021/03/02(火) 15:10:19.58ID:PYhnkQa90
>>395
検索リテラシーを高めましょう
https://i.imgur.com/oxOXijq.jpg
2021/03/02(火) 15:34:37.69ID:SS4G3fT6a
>>401
普段Google使ってないのか。
だからそれは不完全にしか機能しないんだよ。

ちなみに、調べてみれば分かると思うが、Googleは以前逐語的な検索を可能にする
オプションを検討している時期があったが、結局実現していない。
2021/03/02(火) 16:03:03.12ID:PYhnkQa90
恥ずかしいやつだな
2021/03/02(火) 16:07:49.70ID:Ud1JuHIr0
>>401
一軒目のURL大丈夫か?
2021/03/02(火) 16:55:38.42ID:UMwZG+xJa
>>403
馬鹿な奴だ
では君に宿題。

Google先生に"アルゴリズム + データ構造"というありがちなフレーズを含む
ドキュメントを見つけさせてください。
2021/03/02(火) 17:47:40.33ID:JbzIgBR1M
記号を検索対象にできないのは常識だと思ったが未だにこんな奴がいるんだなw
407デフォルトの名無しさん (アウアウウー Sa2f-CIDx)
垢版 |
2021/03/02(火) 17:57:46.11ID:UMwZG+xJa
>>406
これも酷い
こんな奴って誰のことだよw
2021/03/02(火) 18:03:55.17ID:UMwZG+xJa
しかし、どんな世界にも頭が悪いくせに謎の上から目線のバカはいるけど
今の議論はちょっと度を越してるねw
2021/03/02(火) 19:02:34.42ID:DnUmrWd5M
> こんな奴って誰のことだよw
バカだと言う自覚はあるんだなw
まあ何がどう酷いかを書けてない時点でハッタリ臭しかしないけど
2021/03/02(火) 21:39:51.80ID:bluK+SXX0
なんかこの前からGoogle検索でマウント取りたがる奴が増えたな
てか同一人物か?w
2021/03/02(火) 23:16:50.55ID:Ud1JuHIr0
俺じゃないぞ。
おとなしくしてるんだからいちいちそういう事言わないでくれ。
2021/03/03(水) 00:03:07.08ID:xw0tRdH60
"visual studio"と"vscode"の区別についての話で
>>390が「検索オプションの完全一致」について
>括弧やカンマのような記号入りは無理たけど
>"visual studio”とかなら問題ない
と書いてるのに、それが「不完全にしか機能しない」例として
>"アルゴリズム + データ構造"
を挙げるってどうなんだろ
2021/03/03(水) 02:31:40.37ID:slcyC3Aka
>>412
こいつも」酷い。
何度も繰り返し言ってるけど、論点はGoogleに逐語的な検索を行うオプションが存在するかどうか。
逐語的って言葉の意味は理解してますか?

逐語的に検索するオプションは存在しない、という主張に対して>>390は反論として成立しているだろうか?
マジで大丈夫か


ここからはおまけ

もちろん、例えば機械翻訳が不完全であることがそうであるように、
Google検索の件の制約が技術的な限界に起因するものであればそれを批判するのは
言い掛かりだと言えるかもしれない。

Google検索の件の制約はそういう類の物だろうか?
考えるまでもないね。
2021/03/03(水) 03:05:09.28ID:xw0tRdH60
>>413
問題になってるのはこれだよな

>>384
>"visual studio"で検索したはずなのに"visual studio"というフレーズがまったく出現しない
>ドキュメントが検索結果に表れることを抑止できないことだよ。

「検索オプションの完全一致」でこれは防げないの?
防げないのならその例を挙げればいいわけで
防げるなら「逐語的」の意味は関係ないよな
2021/03/03(水) 03:53:18.03ID:aqSSGyA4a
>>414
また始まった
だから逐語的って言葉の意味を理解していますか?

防げない例は既に>>405に挙げている。
この例で君が引用した箇所に書いた問題を抑止できない理由は
Googleに逐語的な検索を行う機能が存在しないから

フレーズに記号を含むことがGoogleを「免罪」する理由になるとまったく思えないが、
仮にその言い訳を認めるとしても同様の問題は記号を含まない検索でもしばしば起こる

こんなのGooglle毎日使ってれば誰でも経験してるだろ。
2021/03/03(水) 04:08:37.93ID:xw0tRdH60
>>415
>同様の問題は記号を含まない検索でもしばしば起こる
と言うなら実例をいくつか挙げればいいのに挙げないんだよな
>>384
>"visual studio"で検索したはずなのに"visual studio"というフレーズがまったく出現しない
>ドキュメントが検索結果に表れることを抑止できないことだよ。
これは「検索オプションの完全一致」で防げるってことでいいのかな
2021/03/03(水) 04:40:32.82ID:7jUGZlfz0
goggleは先生だじょ
2021/03/03(水) 08:13:28.88ID:mCX6K/+kd
C#の話するんじゃなかったのか?
喧嘩したいだけか?
2021/03/03(水) 09:27:11.76ID:51dlpnvJM
連動広告で喚いてたやつと同じだろ
具体例を出せばいいだけなのにグダグダのオレオレ理論を書き連ねて誤魔化そうとしてるだけかと
2021/03/03(水) 10:02:38.01ID:mCX6K/+kd
連動広告は具体例出したけど認めない人が居たんじゃん。
結局なんにでもイチャモンをつけたいだけの実務経験ゼロの人だと明確になったんだし、そっちを排斥してくれ。
2021/03/03(水) 10:15:47.56ID:O7+AedYB0
とりあえず、検索とかgoogleの話題で盛り上がってるのは区別なくアホだなぁ…と
2021/03/03(水) 11:39:26.96ID:VIYI6BjX0
例を出せって言うと勝手に相手が疲弊するからな
それに対していちゃもん付けるだけで論破した気になれて気持ち良くなれる
目的がそこだからやり合うだけ無意味
2021/03/03(水) 12:00:29.98ID:WA0u1e7cM
>>420
>>335とか言ってた人?
その後CADとかで取り繕うとして失敗してたねw
とりあえず具体例を出したと言うならレス番示して引用しなさいよ
2021/03/03(水) 12:01:21.89ID:NSH/5M7td
>>423
取り繕うも何も。
もういいよ。
無限に文句いうだけだろ。
2021/03/03(水) 12:02:20.41ID:qqzmUVqaM
>>422
例も出せないなら黙ってろって話な
腐ってもここ技術板なので具体的に語れない奴は要らんよ
2021/03/03(水) 12:03:19.50ID:DslyKPl0M
>>424
まともな例を出せばいいだけ
出せないなら黙ってろ
2021/03/03(水) 12:10:43.68ID:xw0tRdH60
>>425
黙っていれば疲弊しないですむしな

>>424
「もういい」のなら>>420も言わなければいいのに
2021/03/03(水) 12:13:28.48ID:/4Ongo/EM
>>420
具体例出したけど認めないやつと同じやつでしょ
検索オプションすら知らずにしょうもないマウンティングして恥書いたので
エクストリーム言い訳してるだけ
2021/03/03(水) 12:23:45.41ID:n4RkOvWEM
>>428
認めない奴はその理由も書いてあるだろ
理由がおかしいと言うならそう書けばいいだけ
2021/03/03(水) 12:28:38.04ID:NSH/5M7td
どっちが言い訳の言い訳だかわからんね。
認めない理由ww
2021/03/03(水) 12:36:35.75ID:C/O6UamSa
恥知らずに勝てる人はいないよ
恥知らずに恥を知れと言っても無駄だ
2021/03/03(水) 13:49:53.95ID:q4liHMPgM
無知は恥じゃないんだが無知を認められなくなったら終わり
過去の知識がどれだけあっても周囲の足を引っ張る老害でしかない

2件とも完全に老害パターン
同一人物ならまだ救いがある
2021/03/03(水) 16:24:13.71ID:GRpGW1SM0
ふらっとスレと比べてこのスレ殺伐すぎない?
2021/03/03(水) 16:58:01.60ID:O7+AedYB0
>>433
殺伐とするのがC#ならまだ良いんだけど、検索エンジンの話題で争ってるからなぁ…
2021/03/03(水) 18:04:49.14ID:/3zr+XVw0
200レスくらい関係ないレス続いてんじゃね
回線切り変えながらレスバトルやっている奴までいて引くわ
スレ違いのネタなら適切な突っ込みないからって自覚無くてもクズ
2021/03/03(水) 19:24:00.91ID:OAZEPW7R0
ふらっとでも同じだけどC#と関係ないところでマウント取り合うよね
437デフォルトの名無しさん (エムゾネ FFea-RATT)
垢版 |
2021/03/04(木) 11:19:12.04ID:J6mhpq5tF
>>431-432
2021/03/04(木) 13:49:05.90ID:3VY1Yk0U0
>>432
無知無知の知知
2021/03/04(木) 20:53:47.44ID:jP3kXSf60
>>438
↓こんなの?

(.)(.)

  .
  Y
2021/03/12(金) 21:15:39.86ID:G0I9SELZa
c#ってWindows10の2004でコンパイルしたものって
win10 1803とかでは動かなかったりしますか?
2021/03/12(金) 22:30:19.69ID:X3GVdMS90
>>440
https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/versions-and-dependencies
1803は既定で.NET Framework 4.7.2が入っているのでTargetFrameWorkをそれに合わせればいい。4.0〜4.72にしとけば動く
.NET CoreならTargetFrameWorkは考えなくていい
2021/03/13(土) 16:36:27.16ID:v1IURjqUM
>>441
ありがとう
2021/03/16(火) 23:25:33.88ID:tr/otBzQ0
おまいら、お待たせ
https://robotcheckion.online/?p=mjrdmmdgmy5gi3bpgm2dsmby&;sub1=wbly&sub3=3v34qm1oqpiu&sub4=negative+binomial+distribution+problems+and+solutions+pdf
2021/03/19(金) 01:03:40.48ID:3ffSrTBA0
>>266
はよ踏めよ、カスが!
踏まないならタヒね
2021/03/19(金) 05:16:47.81ID:jH8qf1vo0
基地外の発作再発?w
2021/03/19(金) 10:39:47.34ID:3ffSrTBA0
>>445
死ね、ヴォケ!
氏ねじゃなく死ね!
2021/03/19(金) 13:39:47.01ID:Oem/eeea0
春になると酷くなるタイプの病気
2021/03/22(月) 00:23:00.23ID:0zPdt/v20
C# Seleniumでブラウザを閉じるときに

Quit();
Close();

の動作が最近のChromeのアップデートでかなり遅くなっています。
私だけでしょうか?
2021/03/25(木) 20:21:05.91ID:qKMPIZcm0
https://news.mynavi.jp/article/20210325-khara_system/
>“新しい作り方”としてUnityとBlenderのワークフローに可能性を感じています。
>スキルセットとしてはC#やPythonが扱えると即戦力

シンエヴァの技術管理統括がこういってるんだけどUnityって映像業界でも活用されてるんだな
2021/03/25(木) 20:31:06.46ID:8BA04umd0
映像業界はだいぶ前からそんな感じだよ
建設業界なんかもUnity使ってるところでてきてるくらいだし
2021/03/25(木) 20:57:51.04ID:+iIGf7Sl0
C#もPythonもレビュー担当できる程度に普通に扱えるけど
Unity未経験だと雇ってくれないor新卒並の待遇でしか採ってくれない印象
2021/03/25(木) 22:15:18.01ID:TVmRgRhMa
3DCGは難しそうだ
学生の頃は美術2だった
2021/03/25(木) 23:35:10.85ID:e4L6C77m0
3DCGは特にUnityなんかだとアート方面のことを考える人と
テクニカル方面のことを考える人が分かれてるから、
アート方面の人と会話さえ出来れば自分のアートセンスはあんまり関係ないと思うけどな
アーティスト向けのDCCツールはきついだろうけど
2021/03/26(金) 01:20:23.74ID:rO7zxT6G0
うちも映像制作で使ってるよ。
PBRで良いものであれば、めっちゃ楽。
フェードアウトとか色々スクリプト書いて、タイムラインに並べられるように用意して、あとは3DCGが得意な人と分担してやってる。
レンダリング用のバッチ書いたりとか色々足回り作る部分は多いけど、便利よ。
2021/03/30(火) 14:54:26.41ID:HFiy3yDr0
どなたか以下の現象の解決策をご存知なら教えて下さい。

----
(1)フォームアプリケーションにRichTextBoxを配置
(2)RichTextBoxの縦スクロールを有効にする

exe実行

(1)RichTextBoxの枠内に入り切らない行数のテキストをペーストする。
※この時点でカーソルは最下位行になる。
(2)カーソル位置をそのままにして、スクロールバーを一番上に持っていく。
(3)フォーカスを別のウィンドウに移動
(4)フォーカスをRichTextBoxのフォームに戻す

すると、カーソル位置がRichTextBoxの枠内の一番上にくるように再描画が行われてしまう。
結果、RichTextBox内の文字が消えたように見えるが、スクロールバーをクリックすると正常表示に戻る。

----
以上です。
456デフォルトの名無しさん (アウアウウー Sacd-1mGO)
垢版 |
2021/03/30(火) 19:33:17.18ID:POGVGajaa
>>455
ペーストしたテキストの末尾の行が最上位に来てしまうってこと?
再現できまへんわ。
2021/03/30(火) 22:02:23.20ID:o8eDbni+0
>>455
100%再現するプロジェクトをアップロードしてくれれば親切な誰かが調査してくれるかもよ
2021/03/30(火) 23:35:42.87ID:HFiy3yDr0
>>456
>>457
2021/03/30(火) 23:40:52.03ID:HFiy3yDr0
ありがとうです。

余計なものを削ぎ落したプロジェクトに、
再現の様子を収めた動画を同封してアップしました。

https://media-uploader.work/?mode=detail&;id=7574&original=1

どなたか気が向いたら見てみて下さい。

なお、環境依存の可能性もあるかと思って手持ちのPCで実行してみたら
win8.1とwin10 は再現し、win server2012 は非再現でした。
動画を見て頂けるとわかると思いますが、フォーカスが当たった瞬間に余計なイベントが発生している感じにみえます。
2021/03/31(水) 00:32:20.38ID:bnFDknJn0
403エラー出るな
461デフォルトの名無しさん (ワッチョイ b1b5-lMfL)
垢版 |
2021/03/31(水) 00:51:58.68ID:gHPQ065T0
>>459
俺は見る気はサラサラないが、>>460の言う通りエラーが出る

media-uploader.work へのアクセスが拒否されましたこのページを表示する権限がありません。
HTTP ERROR 403
2021/03/31(水) 06:54:28.60ID:3seTCUNu0
>>459
>>457
2021/03/31(水) 22:47:35.33ID:I8AeNzgd0
こちらではどうでしょうか

https://media-uploader.work/?mode=detail&;id=7574&original=1&key=d19f328b-ab29-4095-84be-2a9edfc7af4c
464デフォルトの名無しさん (ワッチョイ b1b5-lMfL)
垢版 |
2021/03/31(水) 23:25:05.65ID:gHPQ065T0
>>463
ああ、今度こそ見える
おかしな挙動

他の人頼む
2021/03/31(水) 23:26:52.18ID:3seTCUNu0
再現しないっす。
win10 pro + vs2019
466デフォルトの名無しさん (テテンテンテン MM96-fTYp)
垢版 |
2021/04/01(木) 10:48:51.53ID:tyY0ZWw2M
Linqで.max()とかしたときに、その要素が配列の何番目かも取れますか?
やっぱら普通にloop回して値なめてインデックスも保存するしかないかな?
2021/04/01(木) 11:03:37.82ID:wAdk3gIy0
indexOf
遅いけど
2021/04/01(木) 11:04:52.05ID:DPgukaDD0
そうだね
var index = list.Select((x, i) => new { x, i }).Aggregate((a, b) => a.x > b.x ? a : b).i;
469466 (テテンテンテン MM96-fTYp)
垢版 |
2021/04/01(木) 11:23:32.49ID:tyY0ZWw2M
即レスあざっす。
コードはシンプルですが、やっぱりループは2周回しちゃいますよね?

aggregateは使いなれてないので勉強してみます。
2021/04/01(木) 12:46:48.51ID:DPgukaDD0
上のコードは二周してないよ
Aggregateがループ一周するとき、Selectでインデックス付きの値に変換してるだけ

自分でIEnumeratorを実装してWriteLineなりステップ実行なりで確かめてみるといい
2021/04/01(木) 12:56:26.15ID:tyY0ZWw2M
ありがとうございます。
aggregateのたびにselectが一個ずつ呼ばれてその都度newってことですね。
2021/04/01(木) 21:46:03.95ID:/6s6U5+D0
>463
Win10 Pro 20H2 VS2019 16.9.2 再現した
2021/04/02(金) 01:05:47.48ID:wUk/pE7N0
>>472
再現しましたか・・・
ググってるとScrollToCaret()あたりのバグらしき情報も拾えますが、
解決策は分からんですね・・・気持ち悪い。
2021/04/02(金) 21:38:24.91ID:l3iQL5930
前に似たような問題踏んだんだけど、当時どうやったかな……
ちょっとソースコード消したっぽくて見当たらない
2021/04/03(土) 08:07:46.79ID:xRi4BzBEM
int[] hoge ={1,5,8,3,6,1,2,5,4,1,1,4,8,1};
みたいな配列がある時に一番出現回数が多い要素を取る方法ある?
この例だと1が5個あるから1みたいな。
1の出現回数、2の出現回数、3の…って数えた結果を入れた配列作って、またその配列を頭からなめるしかないかな?
普通に↑書くとなんだかんだで10行に全然収まらず汚くなっちゃいます。
2021/04/03(土) 08:28:22.25ID:2jFdn4xt0
それ課題? 宿題?
2021/04/03(土) 08:32:09.99ID:R+IP0R1+M
hoge
  .GroupBy(x => x)
  .Select(x => new { Value = x.Key, Count = x.Count() })
  .OrderByDescending(x => x.Count)
  .FirstOrDefault()
  .Value
とかかな、動かして確認してないけど
2021/04/03(土) 09:13:26.17ID:IGI/+wu80
100%宿題だろ
2021/04/03(土) 09:15:40.41ID:tu4vqFkZ0
普通にforeachでやれば?
なんだかんだしても10行もかからない
480デフォルトの名無しさん (ワッチョイ 15e6-p1/t)
垢版 |
2021/04/03(土) 09:24:02.01ID:tmsfTtPy0
>>477
それでも正しい答えを返すけど、グループ化後、カウントするのに1巡し、ソートして (最大カウントを取得して) いるから、ソート結果を他の用途で使う必要がないならムダがある。
1巡で最大カウントを探すならこう。

hoge
.GroupBy( x => x )
.Aggregate(new { Value = (int?)null, Count = 0 },
(total, next) => next.Count() switch {
var count when count > total.Count => new { Value = (int?)next.Key, Count = count },
_ => total,
})
.Value;

switch 式を使っているのは next.Count() を変数 count で受けるため。
481デフォルトの名無しさん (ワッチョイ 15e6-p1/t)
垢版 |
2021/04/03(土) 09:56:22.52ID:tmsfTtPy0
同着1位が複数ある場合に備えて少し拡張。結果は int ではなく IEnumerable<int> で返るようになります。

hoge
.GroupBy( x => x )
.Aggregate(new { Value = Enumerable.Empty<int>(), Count = 0 },
(total, next) => next.Count() switch {
var count when count > total.Count => new { Value = Enumerable.Repeat(next.Key, 1), Count = count },
var count when count == total.Count => new { Value = total.Value.Concat(new [] { next.Key }), Count = count },
_ => total,
})
.Value;
2021/04/03(土) 11:48:23.26ID:xRi4BzBEM
回答色々ありがとうございます。
LINQ慣れてないので、これから481さんのを、確認したいと思います。

動作確認用にまずはシンプルにこんな感じに書いてみました。
loopで適当に
for( int i=0;i<hoge.length;++i){
hogeIndex[hoge[i]]+=1;}
で集計と最大値みて
Array.IndexOf(higeIndex,max)
2021/04/03(土) 12:43:42.91ID:nkSIG8qO0
using MoreLinq;
int[] hoge ={1,5,8,3,6,1,2,5,4,1,1,4,8,1};
hoge.CountBy(x=>x).ForEach(x=>Console.WriteLine(x));
[1, 5]
[5, 2]
[8, 2]
[3, 1]
[6, 1]
[2, 1]
[4, 2]
2021/04/03(土) 13:16:22.63ID:G1gOaHFKM
morelinq初めて知りました。
他にもimportedLinqとかみんな今のLINQに物足りなさ感じで色々作ってんですね。多言語にあるものは純正LINQにもガンガン取り込んで欲しい。
2021/04/03(土) 22:33:48.62ID:+IgRciBO0
あの目的で481みたいなソース書くやつがいたらわしだったらチームから外すな。
万事あんなソースで埋め尽くされてたら、
超簡易で済むソースがわけわからんもんになるわ。
2021/04/04(日) 00:47:44.32ID:ok1vxTHs0
>>485
チームから外された人はどうなってしまうのですか?
2021/04/04(日) 01:33:04.10ID:LsucXWBN0
社史編纂室へ
2021/04/04(日) 02:36:11.57ID:ciXsbyqc0
ソイレントグリーン化
489デフォルトの名無しさん (ワッチョイ 15e6-p1/t)
垢版 |
2021/04/04(日) 02:57:20.53ID:RzHfgfdU0
>>485
まあわかる。というか、そういう批判が来ることを承知で書いた。
LINQ は map, filter に強いが reduce に弱い。reduce する場面では無理に LINQ にこだわらずイテレーション回した方がよい。

なんで LINQ で書いてみたかっていうと、そうは言っても手続を混ぜずに関数型で書きたいって場面もあるから、思考パズルとして。
どうせ、この課題は学校の宿題とかだろうし。さすがにチーム開発の場面で濫用はしない。

プログラムはリソース制御とデータ変換に分かれるが、データ変換を純粋に連ねていく場面では LINQ から外れたくないってこともある。
そういう場合は 481 のようなのをメソッド定義し、中身は隠蔽してモジュール化しておいて、宣言的に LINQ メソッドを連ねていく。

LINQ to Object なら手続が混じっても問題ないから LINQ にこだわりすぎるのはよくないけれども、一方で LINQ to Entities にする場合は完全に関数型で書かざるを得ない。だから、LINQ to Entities の使い手なら、いかに関数型に閉じて記述するか、っていう思考訓練はしておく必要がある。(481 の例は Aggregate 使っているから LINQ to Entities にならないし、現状の LINQ to Entities には限界があるけど。)
2021/04/04(日) 03:29:46.02ID:Vg+CQPm0a
LINQ乱用せずに書いたらどうなるかなと思っていろいろ考えてみたけど
思ったより綺麗に書けんね。

結局>>483が使えるならこれが一番簡潔でいいな
っていうかヒストグラム求めるって標準のライブラリにありそうでなかったんだね。
491デフォルトの名無しさん (ワッチョイ 55b5-vyem)
垢版 |
2021/04/04(日) 17:47:26.09ID:glgnW2pm0
>>488
どうか責任を以ってあなた様がお召し上がりください
2021/04/05(月) 14:17:24.94ID:UvEZGDJy0
>>490
リンクを一切使わなくても別にって感じだけどな

var dic = new Dictionary<int, int>();
foreach(var h in hoge){
if(!dic.ContainsKey(h)) dic.Add(h, 0);
dic[h]++;
}

int maxCount;
List<int> maxKeys;
foreach(var pair int dic){
if(maxCount == pair.Value) maxKeys.Add(pair.Key);
else if(maxCount < pair.Value){
maxCount = pair.Value;
maxKeys = new List<int>(){ pair.Key };
}
}
2021/04/05(月) 15:32:07.99ID:0Q3jeorWa
>>492
個人の感想です、だけどあんまり綺麗じゃないよねそれ。

重要なのは何を使うか使わないかじゃなくて
読みやすいかじゃないかな。
LIN}Qを乱用云々と書いたのはそれは一般に読みづらいから

自分ならこの辺で手を打つかな。知らんけど
効率無視ならUniquelizeなんてメソッドはいらない

int[] hoge = { 1, 5, 8, 3, 6, 1, 2, 5, 4, 1, 1, 4, 8, 1 };
var uhoge = Uniquelize(hoge);
var histogram = uhoge.Zip(uhoge.Select(x => hoge.Count(y => x == y)), (x, y) => new { Item = x, Count = y });
var max = histogram.Aggregate((candidate, next) => next.Count > candidate.Count ? next : candidate);
....

static IEnumerable<T> Uniquelize<T>(IEnumerable<T> source) where T:IEquatable<T>
{
  var list = new List<T>();
  foreach (var item in source)
    if (!list.Contains(item)) list.Add(item);
  return list;
}
2021/04/05(月) 19:57:09.97ID:CDl0lfjE0
>>493
uniquelizeの方が、hashsetを作るより速いのかな?
2021/04/05(月) 21:21:17.60ID:RrZmsJGc0
int[] hoge = { 1, 5, 8, 3, 6, 1, 2, 5, 4, 1, 1, 4, 8, 1 };
var fuga = hoge.ToLookup(i => i).Select(g => new { g.Key, Count = g.Count() });
2021/04/05(月) 21:33:20.67ID:P35uBEDX0
>>493
uhoge.Select(x => hoge.Count(y => x == y))

↑O(n^2)なのでデータ量が増えると桁違いに遅くなるよ
2021/04/05(月) 21:53:51.88ID:N85JwZrFa
>>496
そうだけど、どんな数え方しても必然的にそうならない?
任意の要素xの個数をO(1)でカウントできると思えないんだけど違うんか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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