我在WPF应用程序中的数据网格。显示csv文件。我想将csv文件复制到数组中。从数组中删除一个字符串,该字符串与datagrid中选择的行相同(比较索引)。最后,我在第二个datagrid中显示字符串数组。
//Storing csv file in string array
var filePath = "csvFile.csv";
using (StreamReader file = new StreamReader(filePath))
{
while (!file.EndOfStream)
{
int selectedIndex =int.Parse(dgData.SelectedIndex.ToString());
string strResult = file.ReadToEnd();
string[] result = strResult.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
List<string> list = new List<string>(result);
list.RemoveAt(selectedIndex);
foreach (string item in list)
{
Console.WriteLine(item);
Console.ReadLine();
}
dgtest.ItemsSource = list;
}
file.Close();
}
我希望更正我的代码。此刻,我出现了一个错误:
索引超出范围。
答案 0 :(得分:0)
您正在使事情复杂化。尝试这样的事情:
const string FilePath = "csvFile.csv";
List<string> lines = File.ReadAllLines(FilePath)?.ToList();
int selectedIndex = dgData.SelectedIndex;
if (lines != null && selectedIndex > 0 && lines.Count > selectedIndex)
lines.RemoveAt(selectedIndex);
dgtest.ItemsSource = lines;