[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
61(1): (ワッチョイ ca79-OOjg) 2022/03/01(火)19:17 ID:fDW5QBJr0(2/3) AAS
めんどくせえやっちゃこれでいいだろ
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 ID:lFABJG9JM(1/2) AAS
>>61
これは初心者には呪文にしか見えないだろw
63: (オイコラミネオ MMeb-g6h8) 2022/03/01(火)20:18 ID:lFABJG9JM(2/2) AAS
訂正
誰にも呪文にしか見えない
64: (ワッチョイ 6f5f-vePS) 2022/03/01(火)20:58 ID:pQFC2fuH0(1) AAS
これでプルリク出されたらレビュイー殺してしまうかもしれん
65: (ワッチョイ ca79-OOjg) 2022/03/01(火)20:59 ID:fDW5QBJr0(3/3) AAS
そういや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(1): (ワッチョイ 6f02-bukj) 2022/03/01(火)21:09 ID:gr6OEBT80(1/2) AAS
var weight = new Dictionary() { { "P", 1 }, { "I", 2 }, { "N", 3 } };
var result = OBJList.OrderBy( a => weight[ a.Name ] ).ToList();
の方が好み。エラーチェックは無視。
67(1): (ワッチョイ ca01-lzB5) 2022/03/01(火)22:16 ID:FpudFrD40(1) AAS
>>66
それ NIPP ⇒ PPIN になるんじゃね?
68: (ワッチョイ 8379-BANU) 2022/03/01(火)22:17 ID:BpvMrVad0(1) AAS
ワンループで
P用参照リストと
それ以外参照リスト作って
最後にP用を前にしてドッキング
69: (ワッチョイ 6336-8W3/) 2022/03/01(火)22:42 ID:kklKOfnn0(1/2) AAS
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 ID:i/a33NyP0(1) AAS
とりあえず片っ端からやってみたら
外部リンク:www.google.co.jp
71: (ワッチョイ 6336-8W3/) 2022/03/01(火)23:36 ID:kklKOfnn0(2/2) AAS
ありがとうございます!
これでできました!
【C#】DataGridViewで編集不可やスクロールバーを常に表示する | NOARTS
外部リンク:noarts.net
72(1): (ワッチョイ 6f02-bukj) 2022/03/01(火)23:50 ID:gr6OEBT80(2/2) AAS
>>67
あくまでやり方の一例。
問題があるなら自分で何とかしてくれ。
73: (ワッチョイ 8a01-k1AF) 2022/03/02(水)00:28 ID:MSZ3LlYF0(1/2) AAS
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 ID:MSZ3LlYF0(2/2) AAS
ところで
Span<T>もしくはIEnumerable<T>のどちらかを受け取るジェネリックな関数って定義できる?
75: (ワッチョイ 6f02-8W3/) 2022/03/02(水)01:42 ID:O26kNIml0(1/2) AAS
そりゃ出来るやろ
LINQがおもっくそそれだし
76(1): (ワッチョイ ca01-+tM1) 2022/03/02(水)05:50 ID:+cCq037X0(1/3) AAS
>>72
いや、おかしいやり方示されても…
77: (ワッチョイ ca79-OOjg) 2022/03/02(水)07:20 ID:+1hBA4Bw0(1) AAS
PとP以外でフィルタしたリストをくっつけるのが判りやすいんかなあ
var PList = OBJList.FindAll(a => a.Name == "P");
var NPList = OBJList.FindAll(a => a.Name != "P");
PList.AddRange(NPList);
OBJList = PList;
78(2): (スッップ Sdea-PHKB) 2022/03/02(水)08:32 ID:Xi4FA93Ld(1) AAS
>>43 を読む限りの要件は
1. 比較の方法は「Name=="P"」だけで判断する
2. 安定ソートであること
3. 結果の返し方は(元のListを上書き変更/新規Listを作ってreturn)→質問者が何も考えてなさそうなので不明
質問者が現れて要件が確定しないとこれ以上進まんでしょ
79: (ワッチョイ ca01-+tM1) 2022/03/02(水)09:19 ID:+cCq037X0(2/3) AAS
>>78
> 3. 結果の返し方は(元のListを上書き変更/新規Listを作ってreturn)→質問者が何も考えてなさそうなので不明
元のListの上書きでしょ
それやろうとしてエラーになってるんだし
本当に必要な要件だったかどうかはわからんが
80: (テテンテンテン MM86-VJRT) 2022/03/02(水)10:03 ID:tBhSxL7sM(1) AAS
変にコレクション弄りまわさずに、Comparer<T>.CreateでカスタムComparer作ってSortかOrderByに食わせろ
81(1): (ワッチョイ 6f02-bukj) 2022/03/02(水)10:20 ID:6DUGQdfA0(1) AAS
>>76
あれに「P を先頭に持ってくる以外は元の順位を保持する」手順を追加すればいいだけだろうに。
宿題じゃないんだからそこまでは書かんよ。
82(1): (ワッチョイ 4a9b-d0o2) 2022/03/02(水)10:21 ID:KGds3ROy0(1) AAS
sort系持ち出してる人多いけど、P以外の順序は変えないってことは実現できるのか?
83: (ワッチョイ ca01-+tM1) 2022/03/02(水)10:39 ID:+cCq037X0(3/3) AAS
>>81
すでにいくつか正解出てるんだから無能のおかしいやり方なんて要らんよw
84: (JP 0H97-SxF4) 2022/03/02(水)11:42 ID:ZYz3XeEgH(1) AAS
>>47
あなたの書いた文が成り立たなくなるとか、そう言う理由でエラーが起きているわけではありません
独自解釈で理解した気分になってしまうと、何年続けても高卒・専門卒級プログラマーの域を出ません
エラーのメッセージが何で、なぜ今回の件に関係があるのか、しっかり突き詰めていかないと・・・・
85: (ワッチョイ 6f02-8W3/) 2022/03/02(水)18:12 ID:O26kNIml0(2/2) AAS
小難しく考えずにこれでいいだろ
OBJList = OBJList.Where(x => x.Name == "P")
.Concat(OBJList.Where(x => x.Name != "P"))
.ToList();
86: (テテンテンテン MM86-g6h8) 2022/03/02(水)22:35 ID:nWwg4aeaM(1) AAS
なんだかもうネタスレ見たいな感じだな
87: (ワッチョイ cb01-v/So) 2022/03/03(木)00:25 ID:dxyVfE5f0(1) AAS
大喜利かな?
88: (ワッチョイ de63-v7rK) 2022/03/03(木)08:59 ID:o+Rr4hsu0(1/2) AAS
つまんねー大喜利だな
どこぞの黄色が並んでるみたい
89: (スップ Sdea-8W3/) 2022/03/03(木)09:21 ID:jSBR5AQpd(1) AAS
初心者用スレなんだからわかる人から見れば大喜利に見えるでしょ
つまらないこといいなさんな
90: (ワッチョイ ff2f-65e0) 2022/03/03(木)17:21 ID:AMDtBRAN0(1/2) AAS
>>78,82
もとの要件がちゃんと示されてないから、
安定ソートが必要かどうかは微妙だと思うぞ
P,I,Nの順にソートされるようにすればいいだけじゃないのか
まあ俺ならソート用に順位表すような何かを別途作るがな
上下前次1-新書関写板覧索設栞歴
あと 912 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.034s