gpt4 book ai didi

c# - MVVM 从文本文件中获取数据

转载 作者:行者123 更新时间:2023-11-30 16:44:15 25 4
gpt4 key购买 nike

我无法获得如何在文本文件中搜索然后使用模型 View View 模型获取我需要的数据的逻辑。基本上,我必须制作一个字典应用程序,并且在文本文件中有单词、语言和描述。喜欢:

cat;e English; it is a four leg animal

在模型中,我有一个文本框,客户可以在其中写一个单词,还有两个其他框,其中应显示单词的语言和描述。

我就是不知道如何在这个文件中搜索。我尝试在线搜索,但似乎没有任何内容能满足我的确切问题。

最佳答案

除非您的文件要更改,否则您可以在运行应用程序时预先读取整个文件并将数据放入 View 模型的模型列表中。

因为这本质上是一个 CSV 文件,并且假设每个条目都是一行,使用分号作为分隔符,我们可以使用 .Net CSV 解析器将您的文件处理到您的模型中:

基本模型:

public class DictionaryEntryModel {
public string Word { get; set; }
public string Language { get; set; }
public string Description { get; set; }
}

带有构造函数的示例 View 模型来填充您的模型:

public class DictionaryViewModel {

// This will be a INotify based property in your VM
public List<DictionaryEntryModel> DictionaryEntries { get; set; }

public DictionaryViewModel () {
DictionaryEntries = new List<DictionaryEntryModel>();

// Create a parser with the [;] delimiter
var textFieldParser = new TextFieldParser(new StringReader(File.ReadAllText(filePath)))
{
Delimiters = new string[] { ";" }
};

while (!textFieldParser.EndOfData)
{
var entry = textFieldParser.ReadFields();
DictionaryEntries.Add(new DictionaryEntryModel()
{
Word = entry[0],
Language = entry[1],
Description = entry[2]
});
}

// Don't forget to close!
textFieldParser.Close();
}
}

您现在可以使用属性 DictionaryEntries 绑定(bind)您的 View ,只要您的应用程序处于打开状态,它就会将您的完整文件保留为 DictionaryEntryModel 的列表。

希望这对您有所帮助!

关于c# - MVVM 从文本文件中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43802234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com