:は、文字列配列に文字列を変換する:私は非常に単純なコード持っているランタイム例外
using System;
using System.Linq;
using System.Windows;
using System.IO;
namespace _3DPrinter_Test1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
foreach (string CurrentLine_Raw in File.ReadAllLines(
"@D:\3Dprinter\TestObject1.gcode"))
{
string[] CurrentLine_Array =
CurrentLine_Raw.Select(c => c.ToString()).ToArray();
TextBox_Test.Text = CurrentLine_Array[0];
}
}
}
}
ライン
TextBox_Test.Text = CurrentLine_Array[0];
は私にIndexOutOfRangeExceptionを与えます。私の意見で
があるため、この行の発生しました:
string[] CurrentLine_Array = CurrentLine_Raw.Select(c => c.ToString()).ToArray();
しかし、私はこの行で上記を置き換えるとき:
string[] CurrentLine_Array = { "Hello World" };
その後、私は私のテキストボックスにのHello Worldを読むことができます。
私は文字列に文字列[]からの変換と間違って何かをやっていますか?
私はここでの問題を見ていると思う
「選択」コールで何をしようとしていますか?ファイル内のいくつかの行に文字がない場合は、例外が発生します。 'CurrentLine_Array.Length'をチェックして、配列に何かがあるかどうかを調べます。 – cubrr
OK、それは私のせいでした... 私の** gcode **ファイル内の1行は文字をまったく取りませんでした。 私はループ全体をtry {}とcatch {}関数に入れて、今は動作します:) –
ここで例外をキャッチする必要はありません...!配列の長さが0より大きいかどうかをチェックするだけです! – cubrr