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

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

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

Re[5]: 配列から異なるデータのみ取得


(過去ログ 103 を表示中)

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

■61267 / inTopicNo.1)  配列から異なるデータのみ取得
  
□投稿者/ ここあ (1回)-(2011/08/08(Mon) 11:28:58)

分類:[C#] 

C#で開発中です。

いろいろやってたら
頭がこんがらがってわけがわからなくなってしまったので
教えてください・・・;

配列Aに1,1,3,4,2,3というデータが入っています。
そこから被らずにデータを取得したいです。
つまり、上記の配列から1,3,4,2を取り出したいです。

今、考えているのが
配列A{1,1,3,4,2,3}
から順番にひとつずつ見ていき、
被った文字は配列Bにいれ、
被らなかった文字は配列Cにいれ、
最後に配列Cに配列Bの文字をいれる
という方法です。
( コードがなくてすみません・・・
  やってみたんですけどよくわからなくなってしまって)

でも、これだとものすごい面倒だし、
もっと簡単に出来るのでは?
と思い質問させていただきました。

簡単なやり方でできませんか?
もし出来るようであれば教えてください。
また、上記の方法でいいようでしたら
そのコーディング方法も教えていただけたらと思います。

初歩的な質問で申し訳ありませんがよろしくお願い致します。
引用返信 編集キー/
■61268 / inTopicNo.2)  Re[1]: 配列から異なるデータのみ取得
□投稿者/ shu (920回)-(2011/08/08(Mon) 11:35:47)
No61267 (ここあ さん) に返信

int[] a = { 1, 1, 3, 4, 2, 3 };
SortedSet<int> s= new SortedSet<int>(a);

こんなんでどう?
引用返信 編集キー/
■61269 / inTopicNo.3)  Re[2]: 配列から異なるデータのみ取得
□投稿者/ ここあ (2回)-(2011/08/08(Mon) 11:43:44)
No61268 (shu さん) に返信
> ■No61267 (ここあ さん) に返信
>
> int[] a = { 1, 1, 3, 4, 2, 3 };
> SortedSet<int> s= new SortedSet<int>(a);
>
> こんなんでどう?

SortedSetこれって配列に入れられますか?
引用返信 編集キー/
■61270 / inTopicNo.4)  Re[3]: 配列から異なるデータのみ取得
□投稿者/ kent (10回)-(2011/08/08(Mon) 11:48:40)
LINQをつかうのが手っ取り早いかと。

int[] a = { 1, 1, 3, 4, 2, 3 };
int[] b = a.Distinct().ToArray();
引用返信 編集キー/
■61271 / inTopicNo.5)  Re[3]: 配列から異なるデータのみ取得
□投稿者/ shu (921回)-(2011/08/08(Mon) 11:54:08)
No61269 (ここあ さん) に返信
> ■No61268 (shu さん) に返信
>>■No61267 (ここあ さん) に返信
>>
>>int[] a = { 1, 1, 3, 4, 2, 3 };
>>SortedSet<int> s= new SortedSet<int>(a);
>>
>>こんなんでどう?
>
> SortedSetこれって配列に入れられますか?

配列にするなら
s.ToArray()
で配列になります。


引用返信 編集キー/
■61272 / inTopicNo.6)  Re[4]: 配列から異なるデータのみ取得
□投稿者/ ここあ (3回)-(2011/08/08(Mon) 12:06:14)
2011/08/08(Mon) 12:08:49 編集(投稿者)

(kent さん) (shu さん)
ありがとうございます!
お二人のやり方どちらでも試してみました!
やりたかったことが出来ました!

勉強不足でした。
これからもっと勉強していこうと思います!
お二人ともありがとうございました!
解決済み
引用返信 編集キー/
■61274 / inTopicNo.7)  Re[4]: 配列から異なるデータのみ取得
□投稿者/ みきぬ (982回)-(2011/08/08(Mon) 12:20:20)
あえて素朴に。

int[] input = { 1, 1, 3, 4, 2, 3 };
int[] output;

List<int> work = new List<int>();

foreach (int i in input)
{
    if (!work.Contains(i)) work.Add(i);
}

output = work.ToArray();

解決済み
引用返信 編集キー/
■61294 / inTopicNo.8)  Re[5]: 配列から異なるデータのみ取得
□投稿者/ ここあ (4回)-(2011/08/08(Mon) 17:33:52)
No61274 (みきぬ さん) に返信
> あえて素朴に。
>
> int[] input = { 1, 1, 3, 4, 2, 3 };
> int[] output;
>
> List<int> work = new List<int>();
>
> foreach (int i in input)
> {
> if (!work.Contains(i)) work.Add(i);
> }
>
> output = work.ToArray();
>

ありがとうございます!
また、機会がありましたら使用させていただきます!
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -