テキストファイルの内容をタブを取り除いて配列に格納する
        投稿者 魔界の仮面弁士  (社会人)
        
        投稿日時 
            2021/10/6 17:52:05
        
    
    
        > 配列(1) = 100
> 配列(2) = 200
> 配列(3) = 100
> 配列(4) = 200
配列(0) は?
    
> 配列(2) = 200
> 配列(3) = 100
> 配列(4) = 200
配列(0) は?
Imports System.IO
Module Module1
    Sub Main()
        Dim result As New List(Of String)() From {"配列(0)の値"}
        For Each cols In File.ReadLines("D:\example.txt").Select(Function(s) s.Split(vbTab(0)))
            If cols.Length = 4 Then
                result.Add(cols(2))
                result.Add(cols(3))
            End If
        Next
        Dim 配列() As String = result.ToArray()
    End Sub
End Module
    
        投稿者 魔界の仮面弁士  (社会人)
        
        投稿日時 
            2021/10/6 17:56:05
        
    
    
        ループを使わずに 1 行にまとめた場合
    
Dim 配列 = "".Split().Concat(File.ReadLines("D:\example.txt").SelectMany(Function(s) s.Split(vbTab(0)).Skip(2).Take(2).ToArray())).ToArray()
    
        投稿者 nal  (社会人)
        
        投稿日時 
            2021/10/8 09:42:36
        
    
    
        魔界の仮面弁士 様
ありがとうございました!解決しました。
    
ありがとうございました!解決しました。
        投稿者 nal  (社会人)
        
        投稿日時 
            2021/10/26 17:39:06
        
    
    
        魔界の仮面弁士様
申し訳ありません、再び質問があります。以前の回答頂いた(1行)でまとめた場合のコードで実践しています。Dimで宣言したローカルの配列にテキストを格納後、その配列を他のフォームで、かつdouble型に変換して使用したいのですが上手くいかなく躓いています。
ローカルで宣言した配列(String型)をグローバル変数かつDouble型に変換することはできるのでしょうか?できれば、回答いただいた1行にまとめた方のコードでやりたいです。
宜しくお願いします。
    
申し訳ありません、再び質問があります。以前の回答頂いた(1行)でまとめた場合のコードで実践しています。Dimで宣言したローカルの配列にテキストを格納後、その配列を他のフォームで、かつdouble型に変換して使用したいのですが上手くいかなく躓いています。
ローカルで宣言した配列(String型)をグローバル変数かつDouble型に変換することはできるのでしょうか?できれば、回答いただいた1行にまとめた方のコードでやりたいです。
宜しくお願いします。
        投稿者 魔界の仮面弁士  (社会人)
        
        投稿日時 
            2021/10/26 20:45:32
        
    
    
        Double 型の配列とするのであれば、こうですね。
代入先の変数は、ローカル変数でも良いですし、
Form1 上のフィールド変数でも良いですし、
Module1 上のグローバル変数でも構いません。
あるいは、Form1 で扱っている変数を Form2 に受け渡すような目的であれば、
相手のフォームにメソッドを用意し、そこに引数として渡すといった方法を採れます。
メソッドの代わりに、プロパティやコンストラクタ引数で渡しても OK。
    
代入先の変数は、ローカル変数でも良いですし、
Form1 上のフィールド変数でも良いですし、
Module1 上のグローバル変数でも構いません。
Dim doubleArray As Double() = File.ReadLines("D:\example.txt").SelectMany(Function(s) s.Split(ControlChars.Tab).Skip(2).Take(2).Select(AddressOf Convert.ToDouble).ToArray()).ToArray()あるいは、Form1 で扱っている変数を Form2 に受け渡すような目的であれば、
相手のフォームにメソッドを用意し、そこに引数として渡すといった方法を採れます。
メソッドの代わりに、プロパティやコンストラクタ引数で渡しても OK。
Public Class Form2
  Private data As Double() = {} 
  Public Sub LoadValues(d As Double())
    data = d
    ListBox1.DataSource = data
  End Sub
End ClassPublic Class Form1
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim 配列1 As Double() = {100R, 200.0, 100.0#, 200}
    Dim f As New Form2()
    f.LoadValues(配列1)
    f.Show(Me)
  End Sub
  Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Dim 配列1 As Double() = {10.0R, 20.0, 10.0#, 20}
    Using f As New Form2()
      f.LoadValues(配列1)
      f.ShowDialog(Me)
    End Using
  End Sub
End Class
    
        投稿者 nal  (社会人)
        
        投稿日時 
            2021/10/29 10:16:08
        
    
    
        魔界の弁士様
回答ありがとうございます。
頂いたやり方でdouble型へ変換し、その後その配列をグローバル変数へ代入することで解決できました!
    
回答ありがとうございます。
頂いたやり方でdouble型へ変換し、その後その配列をグローバル変数へ代入することで解決できました!
TABTAB100TAB200改行
TABTAB100TAB200改行
のとき、
配列(1) = 100
配列(2) = 200
配列(3) = 100
配列(4) = 200
と格納したいんですが、どうしたら良いでしょうか?
言語はvb.netです。よろしくお願いします!