我很感激你花时间阅读这篇文章:)
基本上我试图在字符串大于这么多字符的情况下运行if命令。
所以我运行一堆line.conatins来过滤掉我不想要的东西,但我也想添加一个字符数,所以如果该行少于30个字符,它会过滤掉它。
所以基本上,我在C#visual studio 2008中寻找类似的东西
if (line.contains > 30 characters)
{
Run code...
}
我不确定使用正确的语法,谷歌还没有即将推出。
我感谢任何帮助。谢谢,杰森
哇谢谢快速响应的人,但经过大量的反复试验,我想出了这个int num_count = line.Length;
if (num_count > 30) { }
似乎有用
答案 0 :(得分:3)
string data = "fff"
if (data.Length > 30)
{
// MAgic stuff here
}
答案 1 :(得分:0)
这应该做你想要的。
string str = "yourstring";
int i = str.Length;
下次在确定您想要的东西时,还要尝试发布代码。
答案 2 :(得分:0)
简短而有趣的答案是使用这个属性:
你可能想要考虑一下你的性格。 .NET的String类是UTF-16代码单元的计数序列,它键入为Char
。 Unicode代码点中有一个或两个UTF-16代码单元,当您逐步执行每个Char
时,它很容易计算。在使用两个代码单元的情况下,它们被称为低代理和高代理。
但是请注意,Unicode可以代表变音符号,例如单独的代码点。您可能希望将它们排除在计数之外。
将它们放在一起:
using System.Linq;
...
var test = "na\u0308ive"; // want to count ä as one character
var categoriesNotToCount = new []
{
UnicodeCategory.EnclosingMark,
UnicodeCategory.NonSpacingMark,
UnicodeCategory.SpacingCombiningMark
};
var length = test
.Count(c =>
!categoriesNotToCount.Contains(Char.GetUnicodeCategory(c)) // we just happen to know that all the code points in categoriesNotToCount are representable by one UTF-16 code unit
& !Char.IsHighSurrogate(c) // don't count the high surrogate because we're already counting the low surrogate
);
这一切都归结为你所追求的。如果它是你想要的UTF-16代码单元的数量,那么肯定String.Length
是你的答案。