回答編集履歴
5
変数名を修正
test
CHANGED
@@ -21,8 +21,8 @@
|
|
21
21
|
```c#
|
22
22
|
string text1 = "1,2,5,8,9";
|
23
23
|
char[] list1 = text1.ToCharArray();
|
24
|
-
foreach (var
|
24
|
+
foreach (var c in list1) {
|
25
|
-
Console.WriteLine(
|
25
|
+
Console.WriteLine(c);
|
26
26
|
}
|
27
27
|
|
28
28
|
/*
|
4
コードの不足を修正
test
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
訂正します。ToCharArrayでは、カンマが含まれてしまいます。
|
20
20
|
|
21
21
|
```c#
|
22
|
+
string text1 = "1,2,5,8,9";
|
22
23
|
char[] list1 = text1.ToCharArray();
|
23
24
|
foreach (var s in list1) {
|
24
25
|
Console.WriteLine(s);
|
3
誤りを訂正
test
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
質問文から「text1には"1,
|
1
|
+
質問文から「text1には"1,2,5,8,9"、text2には"1,3,7,8,9"が入っている。1文字ずつ処理し、差分を出力したい」と理解しました。
|
2
2
|
|
3
3
|
> List<string> list1 = new List<string>() { text1 };
|
4
4
|
|
5
|
-
これだと、`list1`は`"1,
|
5
|
+
これだと、`list1`は`"1,2,5,8,9"`の要素1つを持つListになります。デバッガで確認してみてください。
|
6
6
|
|
7
|
-
Stringを1文字ずつ処理するには、`ToCharArray`が使えます。
|
7
|
+
~~Stringを1文字ずつ処理するには、`ToCharArray`が使えます。~~
|
8
8
|
|
9
9
|
```c#
|
10
10
|
char[] list1 = text1.ToCharArray();
|
@@ -12,3 +12,47 @@
|
|
12
12
|
[String.ToCharArray メソッド (System) | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/api/system.string.tochararray?view=net-6.0#system-string-tochararray)
|
13
13
|
|
14
14
|
他にも修正が必要ですが、コードを書いてみて、詰まったらまた質問してください。
|
15
|
+
|
16
|
+
|
17
|
+
追記です。
|
18
|
+
|
19
|
+
訂正します。ToCharArrayでは、カンマが含まれてしまいます。
|
20
|
+
|
21
|
+
```c#
|
22
|
+
char[] list1 = text1.ToCharArray();
|
23
|
+
foreach (var s in list1) {
|
24
|
+
Console.WriteLine(s);
|
25
|
+
}
|
26
|
+
|
27
|
+
/*
|
28
|
+
1
|
29
|
+
,
|
30
|
+
2
|
31
|
+
,
|
32
|
+
5
|
33
|
+
,
|
34
|
+
8
|
35
|
+
,
|
36
|
+
9
|
37
|
+
*/
|
38
|
+
```
|
39
|
+
|
40
|
+
他の回答にあるとおり、`Split`を使う方がいいと思います。
|
41
|
+
|
42
|
+
```c#
|
43
|
+
string text1 = "1,2,5,8,9";
|
44
|
+
string[] list1 = text1.Split(',');
|
45
|
+
foreach (var s in list1) {
|
46
|
+
Console.WriteLine(s);
|
47
|
+
}
|
48
|
+
|
49
|
+
/*
|
50
|
+
1
|
51
|
+
2
|
52
|
+
5
|
53
|
+
8
|
54
|
+
9
|
55
|
+
*/
|
56
|
+
```
|
57
|
+
|
58
|
+
|
2
誤字の修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
これだと、`list1`は`"1, 2, 5, 8, 9"`の要素1つを持つListになります。デバッガで確認してみてください。
|
6
6
|
|
7
|
-
|
7
|
+
Stringを1文字ずつ処理するには、`ToCharArray`が使えます。
|
8
8
|
|
9
9
|
```c#
|
10
10
|
char[] list1 = text1.ToCharArray();
|
1
補足
test
CHANGED
@@ -10,3 +10,5 @@
|
|
10
10
|
char[] list1 = text1.ToCharArray();
|
11
11
|
```
|
12
12
|
[String.ToCharArray メソッド (System) | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/api/system.string.tochararray?view=net-6.0#system-string-tochararray)
|
13
|
+
|
14
|
+
他にも修正が必要ですが、コードを書いてみて、詰まったらまた質問してください。
|