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

わんくま同盟

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

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


■85059 / )  Re[1]: CSV出力について
□投稿者/ 魔界の仮面弁士 (1406回)-(2017/09/07(Thu) 19:22:43)
No85058 (tari さん) に返信
> a()= {0,1,2,3}
> b()= {4,5,6,7}

型は整数なのですか?

Dim a As Integer() = {0, 1, 2, 3}
Dim b() As Integer = {4, 5, 6, 7}

それとも文字列なのですか?

Dim a As String() = {"0", "1", "2", "3"}
Dim b() As String = {"4", "5", "6", "7"}


ひとまず、文字列ということで回答します。

> 0,4
> 1,5
> 2,6
> 3,7

a と b の要素数が同じであるという前提で良いなら:

'案1
Dim test = Enumerable.Range(0, a.Length).Select(Function(i) a(i) & "," & b(i))
File.WriteAllLines(path & "c.csv", test, Encoding.Default)


'案2
For n = 0 To a.Length - 1
 Dim test As String = a(n) & "," & b(n) & ControlChars.NewLine
 File.AppendAllText(path & "c.csv", test, Encoding.Default)
Next


なお上記は、「各レコードの末尾」に改行が配置される形式で出力されます。
「レコードとレコードの間」に改行を配置する場合は、下記の様に書けます。

'案1改
Dim test = Enumerable.Range(0, a.Length).Select(Function(i) a(i) & "," & b(i))
.WriteAllText(path & "c.csv", String.Join(vbNewLine, test), Encoding.Default)

返信 編集キー/


管理者用

- Child Tree -