teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ソース修正

2020/03/13 02:12

投稿

yureighost
yureighost

スコア2183

answer CHANGED
@@ -5,16 +5,6 @@
5
5
  ただもっと美しく書けるやり方とかは分からないです。
6
6
  ひとまずエラー回避ということで。
7
7
  ```C#
8
- DataTable dtResult = new DataTable();
9
- foreach (DataColumn column in dtFrom.Columns)
10
- {
11
- dtResult.Columns.Add("from." + column.ColumnName, typeof(string));
12
- }
13
- foreach (DataColumn column in dtJoin.Columns)
14
- {
15
- dtResult.Columns.Add("join." + column.ColumnName, typeof(string));
16
- }
17
-
18
8
  var methodQ = dtFrom.AsEnumerable().GroupJoin(
19
9
  dtJoin.AsEnumerable(),
20
10
  f => f["key"],
@@ -37,5 +27,4 @@
37
27
  return row;
38
28
  }
39
29
  );
40
- return methodQ.CopyToDataTable();
41
30
  ```

1

追記

2020/03/13 02:12

投稿

yureighost
yureighost

スコア2183

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  とりあえずは左テーブルにキーがあり、右テーブルにキーがないパターン(key:CCC)の時に、
2
- SelectManyのDataRow型j変数自体がnullになっているため、
2
+ SelectManyのDataRow型j変数自体がnullになっているため、
3
3
  NullReferenceExceptionとなっていますね。
4
4
  なのでnull時に空のObject配列を作っておけば回避はできます。
5
5
  ただもっと美しく書けるやり方とかは分からないです。