1 public static int GetStringLengthByChar(String origin)
2 {
3 Int32 strLength = 0;
4 if(!String.IsNullOrEmpty(origin))
5 {
6 foreach (char c in origin)
7 {
8 UnicodeCategory testC = char.GetUnicodeCategory(c);
9 switch (testC)
10 {
11 case UnicodeCategory.OtherLetter:
12 strLength += 3;
13 break;
14 case UnicodeCategory.UppercaseLetter:
15 strLength += 2;
16 break;
17 default:
18 strLength += 1;
19 break;
20 }
21 }
22 }
23 return strLength;
24 }
25
2 {
3 Int32 strLength = 0;
4 if(!String.IsNullOrEmpty(origin))
5 {
6 foreach (char c in origin)
7 {
8 UnicodeCategory testC = char.GetUnicodeCategory(c);
9 switch (testC)
10 {
11 case UnicodeCategory.OtherLetter:
12 strLength += 3;
13 break;
14 case UnicodeCategory.UppercaseLetter:
15 strLength += 2;
16 break;
17 default:
18 strLength += 1;
19 break;
20 }
21 }
22 }
23 return strLength;
24 }
25