C# 计算字符串变量中的字母数

C# 计算字符串变量中的字母数,c#,string,C#,String,我试图计算字符串变量中的字母数。我想做一个刽子手游戏,我需要知道需要多少个字母来匹配单词中的数量。你可以简单地使用 int numberOfLetters = yourWord.Length; 或者,为了保持冷静和时尚,请像这样使用LINQ: int numberOfLetters = yourWord.ToCharArray().Count(); 如果你既讨厌物业又讨厌林克,你可以用一个循环去学旧式: int numberOfLetters = 0; foreach (char lette

我试图计算字符串变量中的字母数。我想做一个刽子手游戏,我需要知道需要多少个字母来匹配单词中的数量。

你可以简单地使用

int numberOfLetters = yourWord.Length;
或者,为了保持冷静和时尚,请像这样使用LINQ:

int numberOfLetters = yourWord.ToCharArray().Count();
如果你既讨厌物业又讨厌林克,你可以用一个循环去学旧式:

int numberOfLetters = 0;
foreach (char letter in yourWord)
{
    numberOfLetters++;
}
myString.Length//你会得到你的结果
//或者,如果您只需要字母计数:
myString.Count(char.isleter);
//但是,如果要将单词显示为*******(其中,***是空格)
//您还可以使用以下选项:
//小提示:重复一个单词会失败,所以检查你的重复!
myString.Split(“”).ToDictionary(n=>n,n=>n.Length);
//或者,如果您只需要字符串并在以后获取计数:
myString.Split(“”);
//不会因重复而失败
//这也不会,这也会让你得到计数:
myString.Split(“”)。选择(n=>newkeyvaluepair(n,n.Length));

如果不需要前导空格和尾随空格:

str.Trim().Length

使用
string.Length有什么问题?

// len will be 5
int len = "Hello".Length;
收益率:



\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?也许你也想把这些空间也去掉。当然,他可能会想把实际的空格放在那些空格所在的地方。@crush,因为它是LINQ<代码>长度
是旧的school@IlyaIvanov但也更有效…@newStackExchangeInstance他是在讽刺:)伙计们,这不仅关乎性能,还关乎可读性和意图揭示代码。用
ToCharArray().Count()
计算字符串的长度就像用
Expression.Lambda(Expression.Add(Expression.Constant(2),Expression.Constant(3)).Compile()
(它将返回5,以防万一)@walther OP没有建议将其作为问题或解决方案的一部分。我们要假设他的预期结果是什么吗?@walther:在《刽子手》游戏中,你想数一数空格。@CL4PTR4P:在《刽子手》游戏中,你不想数一数空格。您希望分别处理每个单词,并在单词之间留出一个空格。所以:“我的刽子手问题”=>“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。无论如何,我正在为此添加一个解决方案。@MattRazza:但您仍然需要知道它们的存在,以及它们的位置。这不会删除空格…
str.Replace(“,”).LengthLength
是一个属性,而不是一个方法。他不是在计算一个单词的长度吗?我就是这样理解这个问题的。我很抱歉。@Leigh-谢谢你的捕获、编辑的答案,并将删除注释。string.length以字节而不是字符为单位给出字符串长度。@Nate这已经很老了,但很确定仍然成立。你是在说另一个郎吗?试一试并分享结果?
// len will be 5
int len = "Hello".Length;
string yourWord = "Derp derp";

Console.WriteLine(new string(yourWord.Select(c => char.IsLetter(c) ? '_' : c).ToArray()));