C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: List<string[]>型の中身を特定の要素だけ削除


(過去ログ 176 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■101215 / inTopicNo.1)   List<string[]>型の中身を特定の要素だけ削除
  
□投稿者/ 初心者x (1回)-(2023/01/18(Wed) 16:34:14)

分類:[.NET 全般] 

2023/01/18(Wed) 16:35:43 編集(投稿者)

C#で以下のような List<string[]>を作ったとします。

List<string[]>list= new List<string[]>();
list.Add(new string[5] { "a1", "b1", "c1", "d1", "e1" });
list.Add(new string[5] { "a2", "b2", "c2", "d2", "e2" });
list.Add(new string[5] { "a3", "b3", "c3", "d3", "e3" });
list.Add(new string[5] { "a4", "b4", "c4", "d4", "e4" });

この時の例えば「b」の列のみを削除したいです。
文字列検索での削除ではなく要素指定で削除をしたいです。
消す列は固定ではなく、配列などに入っている要素番号の列を消したいです

DataTableを作ればできるのですが、Linqなどを用いてListのまま消す方法があるかどうかを探しています。

無いなら諦めます皆さんの意見をよろしければお聞かせください。
引用返信 編集キー/
■101216 / inTopicNo.2)  Re[1]: List<string[]>型の中身を特定の要素だけ削除
□投稿者/ WebSurfer (2609回)-(2023/01/18(Wed) 16:45:42)
No101215 (初心者x さん) に返信

> この時の例えば「b」の列のみを削除したいです。

「b」列とは何でしょう?

> 文字列検索での削除ではなく要素指定で削除をしたいです。

「要素指定」というのは具体的にどう指定するのでしょう?

> 消す列は固定ではなく、配列などに入っている要素番号の列を消したいです

これも意味が分かりません。「配列などに入っている要素番号」って何でしょう。配列は
コードには見当たりませんが。

> DataTableを作ればできるのですが

DataTable でどうやるのかの例を示すことはできますか?
引用返信 編集キー/
■101217 / inTopicNo.3)  Re[1]: List<string[]>型の中身を特定の要素だけ削除
□投稿者/ 伝説のカレー (63回)-(2023/01/18(Wed) 16:58:25)
No101215 (初心者x さん) に返信

LINQでどうでしょ
var dest = list.Select(x => x.Where((e, i) => i != 1).ToArray()).ToList();

引用返信 編集キー/
■101218 / inTopicNo.4)  Re[2]: List<string[]>型の中身を特定の要素だけ削除
□投稿者/ 初心者x (2回)-(2023/01/18(Wed) 17:07:38)
No101216 (WebSurfer さん) に返信
> ■No101215 (初心者x さん) に返信
>
>>この時の例えば「b」の列のみを削除したいです。
>
> 「b」列とは何でしょう?

「b」列はb1,b2,b3,b4の事を表しました。
Listの中のstring[1]の事です。
分かりにくくてすみません。

>>文字列検索での削除ではなく要素指定で削除をしたいです。
>
> 「要素指定」というのは具体的にどう指定するのでしょう?

インデックスで指定したいという事です。

>>消す列は固定ではなく、配列などに入っている要素番号の列を消したいです
>
> これも意味が分かりません。「配列などに入っている要素番号」って何でしょう。配列は
> コードには見当たりませんが。

これはすみません
無しでお願いします

>>DataTableを作ればできるのですが
>
> DataTable でどうやるのかの例を示すことはできますか?

これもすぐには書けません。すみません
引用返信 編集キー/
■101219 / inTopicNo.5)  Re[2]: List<string[]>型の中身を特定の要素だけ削除
□投稿者/ 初心者x (4回)-(2023/01/18(Wed) 17:29:02)
2023/01/18(Wed) 17:29:22 編集(投稿者)

No101217 (伝説のカレー さん) に返信
> ■No101215 (初心者x さん) に返信
>
> LINQでどうでしょ
> var dest = list.Select(x => x.Where((e, i) => i != 1).ToArray()).ToList();
>
すごい、できました。
でも、仕組みがわかってないので勉強します...

皆さん本当にありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -