質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

解決済

2つのリストからどちらにも無い値を出力したい

AMK
AMK

総合スコア762

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

5回答

0評価

0クリップ

560閲覧

投稿2022/02/28 13:35

お世話になります。

色々調べて、出来る限りのコードは書いてみたのですが思うような結果が得られず質問させていただきます。

具体的には、
リストA(CSV)
1,2,5,8,9
リストB(CSV)
1、3、7、8、9

出力させたい結果
2,5,3,7

若しくは
3,7

上記のように出力させたいです。

現状のコードでは
エラーは出ず終了するのですが
リストAのデータがそのまま出力されてしまう状態です。

C#

private void button1_Click(object sender, EventArgs e) { string text1 = File.ReadAllText(textBox1.Text); string text2 = File.ReadAllText(textBox2.Text); string text3 = textBox3.Text; List<string> list1 = new List<string>() { text1 }; List<string> list2 = new List<string>() { text2 }; //textBox3.Text=string.Join(",", list1.Except(list2)); string outcsv = string.Join(",", list1.Except(list2)); File.WriteAllText(textBox3.Text+"\\outfile.csv", outcsv); } private void button2_Click(object sender, EventArgs e) { // OpenFileDialogを表示 OpenFileDialog OpenFileDialog = new OpenFileDialog(); OpenFileDialog.Title = "ファイルを保存する"; // ダイアログタイトル OpenFileDialog.InitialDirectory = @"C:\"; // 初期のディレクトリ OpenFileDialog.FileName = @"hoge.csv"; // デフォルトファイル名 OpenFileDialog.Filter = "Text files|*.csv"; // フィルタ DialogResult result = OpenFileDialog.ShowDialog(); if (result == DialogResult.OK) { //「保存」ボタンクリック時の処理 //MessageBox.Show("ファイル名:{0}", OpenFileDialog.FileName); textBox1.Text = OpenFileDialog.FileName; } else if (result == DialogResult.Cancel) { //「キャンセル」ボタンや「×」ボタンクリック時の処理 MessageBox.Show("「キャンセル」ボタンまたは「×」ボタンが選択されました。"); } } private void button3_Click(object sender, EventArgs e) { // OpenFileDialogを表示 OpenFileDialog OpenFileDialog = new OpenFileDialog(); OpenFileDialog.Title = "ファイルを保存する"; // ダイアログタイトル OpenFileDialog.InitialDirectory = @"C:\"; // 初期のディレクトリ OpenFileDialog.FileName = @"hoge.csv"; // デフォルトファイル名 OpenFileDialog.Filter = "Text files|*.csv"; // フィルタ DialogResult result = OpenFileDialog.ShowDialog(); if (result == DialogResult.OK) { //「保存」ボタンクリック時の処理 //MessageBox.Show("ファイル名:{0}", OpenFileDialog.FileName); textBox2.Text = OpenFileDialog.FileName; } else if (result == DialogResult.Cancel) { //「キャンセル」ボタンや「×」ボタンクリック時の処理 MessageBox.Show("「キャンセル」ボタンまたは「×」ボタンが選択されました。"); } } private void button4_Click(object sender, EventArgs e) { //FolderBrowserDialogクラスのインスタンスを作成 FolderBrowserDialog fbd = new FolderBrowserDialog(); //上部に表示する説明テキストを指定する fbd.Description = "フォルダを指定してください。"; //ルートフォルダを指定する //デフォルトでDesktop fbd.RootFolder = Environment.SpecialFolder.Desktop; //最初に選択するフォルダを指定する //RootFolder以下にあるフォルダである必要がある fbd.SelectedPath = @"C:\Windows"; //ユーザーが新しいフォルダを作成できるようにする //デフォルトでTrue fbd.ShowNewFolderButton = true; //ダイアログを表示する if (fbd.ShowDialog(this) == DialogResult.OK) { //「保存」ボタンクリック時の処理 //MessageBox.Show("ファイル名:{0}", OpenFileDialog.FileName); textBox3.Text = fbd.SelectedPath; } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

fana

2022/03/01 08:33

「どちらか一方にしか含まれていない」あるいは「Aに含まれているがBには含まれていない」という話なのであれば,タイトルの > どちらにも無い という書き方は間違いだよね. (これだと「AにもBにも含まれていない」という意味になるよね)

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。