C#将特定字母数组到txt文件
我有一个名为text.txt的文件。它包含立陶宛语文本。我为它编码了1257,这样它就可以读立陶宛字母了。 现在我要做的就是为文件中使用的每个立陶宛字母创建一个数组。这应该显示文本中每个字母的重复次数,并将这些结果写入新的txt文件。 到目前为止,我提出了这个想法:C#将特定字母数组到txt文件,c#,arrays,C#,Arrays,我有一个名为text.txt的文件。它包含立陶宛语文本。我为它编码了1257,这样它就可以读立陶宛字母了。 现在我要做的就是为文件中使用的每个立陶宛字母创建一个数组。这应该显示文本中每个字母的重复次数,并将这些结果写入新的txt文件。 到目前为止,我提出了这个想法: public static int[ ] Letters(string a) { string p = "AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"; // Lithuanian letters
public static int[ ] Letters(string a) {
string p = "AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"; // Lithuanian letters
int [ ]rez = new int[p.Length];
int ind = 0;
foreach (char r in a ) {
ind = p.IndexOf(r);
if (ind>=0)
rez[ind] ++;
}
return rez;
}
我认为这将是一个开始,但我没有,也找不到原因。公共静态字典字母(字符串a)
public static Dictionary<string, int> Letters(string a)
{
Dictionary<string, int> letters = new Dictionary<string, int>();
string p = "AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"; // Lithuanian letters
int ind = -1;
foreach (char r in a)
{
ind = p.IndexOf(r);
if (ind >= 0)
{
if (letters.ContainsKey(r.ToString()))
{
letters[r.ToString()] = letters[r.ToString()] + 1;
}
else
{
letters.Add(r.ToString(), 1);
}
}
}
return letters;
}
{
字典字母=新字典();
字符串p=“AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲVZŽ”//立陶宛字母
int ind=-1;
foreach(a中的字符r)
{
ind=p.IndexOf(r);
如果(ind>=0)
{
if(字母.ContainsKey(r.ToString()))
{
字母[r.ToString()]=字母[r.ToString()]+1;
}
其他的
{
字母.Add(r.ToString(),1);
}
}
}
回信;
}
这对我很有用。您是否需要返回哪个字母具有什么计数,因为它只返回一个整数数组,按照最先找到的字母的顺序排列?您发布的代码很好。请提供可靠的重现您需要帮助的问题的方法,并提供一个精确、清晰的解释,说明代码的作用以及它与您希望它做的不同之处。请记住,“它不起作用”不是一个明确的问题陈述。Nit:您应该使用TryGetValue()
,利用这样一个事实,即如果键不存在,返回的默认值将是0
,而不是先检查键,然后检索值(双重查找)。对于小投入,这无关紧要,但这是一个更好的先例,可以确保对大投入的有效操作。