我有一個非常簡單的代碼:轉換字符串字符串數組:運行時異常
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。
我做從有毛病轉換字符串到的String []?
你究竟在用'Select'調用來做什麼?如果文件中的某一行沒有任何字符,則會發生異常。檢查'CurrentLine_Array.Length'來查看數組中是否有任何內容。 – cubrr
好的,這是我的錯...... 我**。gcode **文件中的一行根本不包含任何字符。 我只是把整個循環放到try {}和catch {}函數中,並且它現在可以工作:) –
您不需要...在這裏捕獲異常!只要檢查數組的長度是否大於0! – cubrr