C# 使用数组替换字符串
我有一个从csv文件中获取的两个数组,我想检查第一个数组的当前输出,并输出第二个数组,例如 “Hello,LOL”将输出“Hello,大声笑” 我用过C# 使用数组替换字符串,c#,arrays,streamreader,C#,Arrays,Streamreader,我有一个从csv文件中获取的两个数组,我想检查第一个数组的当前输出,并输出第二个数组,例如 “Hello,LOL”将输出“Hello,大声笑” 我用过 var reader = new StreamReader(File.OpenRead(@filelocation")); List<string> listA = new List<string>(); List<string> listB = new List<string>(); while
var reader = new StreamReader(File.OpenRead(@filelocation"));
List<string> listA = new List<string>();
List<string> listB = new List<string>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
listA.Add(values[0]);
listB.Add(values[1]);
}
var reader=newstreamreader(File.OpenRead(@filelocation));
List listA=新列表();
List listB=新列表();
而(!reader.EndOfStream)
{
var line=reader.ReadLine();
var值=行分割(',');
listA.Add(值[0]);
列表B.添加(值[1]);
}
数组被存储并包含正确的信息,我只是不知道如何检查第一个列表中的字符串并将其更改为第二个。此操作应使用a而不是列表。此外,您可以使用读取文件中的所有行,而不是循环
// I replace your code with linq
Dictionary<string, string> dictionary =
File.ReadAllLines("@filelocation").Select(l => l.Split(',')).ToDictionary(k =>
k[0], v => v[1]);
string input = "Hello, LOL" ;
var thekey = dictionary.Keys.FirstOrDefault(k => input.Contains(k));
if (thekey != null) // Replacement was found
{
input = input.Replace(thekey, dictionary[thekey]);
}
// Should print Hello, Laugh out loud
Console.WriteLine(input) ;
//我用linq替换您的代码
字典=
File.ReadAllLines(“@filelocation”)。选择(l=>l.Split(“,”)。ToDictionary(k=>
k[0],v=>v[1]);
字符串输入=“你好,LOL”;
var thekey=dictionary.Keys.FirstOrDefault(k=>input.Contains(k));
if(thekey!=null)//找到替换项
{
input=input.Replace(thekey,dictionary[thekey]);
}
//应该打印你好,大声笑出来
控制台写入线(输入);
此操作应使用,而不是列表。此外,您可以使用读取文件中的所有行,而不是循环
// I replace your code with linq
Dictionary<string, string> dictionary =
File.ReadAllLines("@filelocation").Select(l => l.Split(',')).ToDictionary(k =>
k[0], v => v[1]);
string input = "Hello, LOL" ;
var thekey = dictionary.Keys.FirstOrDefault(k => input.Contains(k));
if (thekey != null) // Replacement was found
{
input = input.Replace(thekey, dictionary[thekey]);
}
// Should print Hello, Laugh out loud
Console.WriteLine(input) ;
//我用linq替换您的代码
字典=
File.ReadAllLines(“@filelocation”)。选择(l=>l.Split(“,”)。ToDictionary(k=>
k[0],v=>v[1]);
字符串输入=“你好,LOL”;
var thekey=dictionary.Keys.FirstOrDefault(k=>input.Contains(k));
if(thekey!=null)//找到替换项
{
input=input.Replace(thekey,dictionary[thekey]);
}
//应该打印你好,大声笑出来
控制台写入线(输入);
你能给我们看一个csv文件内容的样本吗?我不明白你为什么需要两个数组?为什么不把所有信息放在一个数组中?b4,在BC之前,因为我不知道为什么我把它们放在两个数组中,我不知道我在做什么。你能给我们看一个csv文件内容的样本吗?我不明白你为什么需要两个数组射线?为什么不把所有的信息都放在一个数组中呢?b4,在BC之前,因为我不知道为什么我把它们放在两个数组中,我不知道我在做什么。我已经存储了我要更改的值,ListA保存了所有的缩写,listB保存了完整的单词,我想检查我的输入,如果发现ListA中的某些内容,请将其交换到listB例如,输入可以是“yes,LOL”,它将通过列表检查输入。输出将是“yes,low out loud”,因为“LOL”变为“low out loud loud”“我已经存储了我想要更改的值,ListA保存了所有缩写,listB保存了完整的单词,我想检查我的输入,如果发现ListA中的某些内容,将其交换到listB,例如,输入可以是“yes,LOL”,它将通过列表检查输入。输出将是“yes,Lool”变成“大声笑”