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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.1993 の関連記事表示

<< 0 >>
■1993  文字列の配列への格納について
□投稿者/ えの -(2007/03/12(Mon) 21:38:56)

    分類:[VB.NET (Windows)] 

    失礼いたします。.NETで文字列を配列に格納したいのですが、スペースと改行の両方を区切り文字として指定し、格納を試みましたが、
    改行は区別してくれませんでした。処理としては、
    1 2
    3 4
    5 6
    のようなデータを1, 2, 3, 4, 5, 6と各配列に格納したいのですが…
    どなたかご教授のほどお願いします。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1995  Re[1]: 文字列の配列への格納について
□投稿者/ επιστημη -(2007/03/12(Mon) 22:18:00)
>
    2007/03/12(Mon) 22:19:01 編集(投稿者)

    ' テキストファイルから読み出すサンプル。
    ' 鵜呑みにするべからず。

    Module Program

    Sub Main()
    Dim reader As New System.IO.StreamReader("data.txt")
    Dim buffer As String = reader.ReadLine()
    Dim data(32) As Integer
    Dim size As Integer = 0
    Dim i As Integer
    Do Until IsNothing(buffer)
    For Each token As String In buffer.Split(" ")
    data(size) = Integer.Parse(token)
    size = size + 1
    Next
    buffer = reader.ReadLine()
    Loop
    reader.Close()
    For i = 0 To size - 1
    System.Console.WriteLine(data(i))
    Next
    End Sub

    End Module
記事No.1993 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1994  Re[1]: 文字列の配列への格納について
□投稿者/ 魔界の仮面弁士 -(2007/03/12(Mon) 22:03:41)
    No1993 (えの さん) に返信
    > スペースと改行の両方を区切り文字として指定し、

    (2次元配列ではなく)1次元配列で良いのでしょうか?

    Cr 改行や Lf 改行なのであれば、
     Dim S As String = "1 2" & vbCr & "3 4"
     Dim x() As String = S.Split(vbCr, " "c)
    で処理し、CrLf 改行なのであれば、
     Dim S As String = "1 2" & vbCrLf & "3 4"
     Dim x() As String = S.Replace(vbCrLf, " ").Split()
    という感じでは如何でしょう。
記事No.1993 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2002  Re[2]: 文字列の配列への格納について
□投稿者/ えの -(2007/03/13(Tue) 06:44:56)
    ありがとうございます。なんとか文字列をスペースと改行区切りで配列に格納できました。
    しかし、格納後の処理について「String型文字列を数値として扱えない」という問題が生じました。
    String型配列Xを
    CSng(x)
    と浮動小数点型に変換し、計算させようとしましたが、「キャストが有効でありません」と言われました。
    なんとか計算させたいのですが、正しい記述もしくは方法をお教え願いませんでしょうか?

記事No.1993 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2004  Re[3]: 文字列の配列への格納について
□投稿者/ επιστημη -(2007/03/13(Tue) 07:03:45)
>
    > String型配列Xを
    > CSng(x)
    > と浮動小数点型に変換し、計算させようとしましたが、「キャストが有効でありません」と言われました。
    
    当然です。CSngに与えるのは配列ではありません。
    # マニュアルを読んでいますか?
    
    Module Program
    
        Sub Main()
            Dim data(2) As String
            Dim value As Single
            data(0) = "12.3"
            data(1) = "23.4"
            data(2) = "34.5"
            For Each item As String In data
                value = CSng(item)
                System.Console.WriteLine(value)
            Next
        End Sub
    
    End Module
    
記事No.1993 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2003  Re[3]: 文字列の配列への格納について
□投稿者/ Kazuki -(2007/03/13(Tue) 06:56:13)
    Int32.Parseなどで変換しないと文字列はいつまでも文字列です
記事No.1993 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2006  Re[4]: 文字列の配列への格納について
□投稿者/ えの -(2007/03/13(Tue) 07:29:14)
    2007/03/13(Tue) 08:02:06 編集(投稿者)
    2007/03/13(Tue) 08:02:04 編集(投稿者)

    たびたび失礼します。どうにかSingle型の配列に格納することができました。
    ほんとうにありがとうございました。
記事No.1993 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■2009  Re[5]: 文字列の配列への格納について
□投稿者/ επιστημη -(2007/03/13(Tue) 09:34:53)
>
    Single配列に変換したかったんだ。ならば:
    
    Module Program
    
        Sub Main()
            Dim input(2) As String
            Dim output() As Single
            input(0) = "12.3"
            input(1) = "23.4"
            input(2) = "34.5"
            output = System.Array.ConvertAll(Of String,Single)(input, AddressOf Single.Parse)
            For Each value As Single In output
                System.Console.WriteLine(value)
            Next
        End Sub
    
    End Module
    
記事No.1993 のレス / END /過去ログ10より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -