c#中的左函数

时间:2011-09-27 19:26:11

标签: c# string

  

可能重复:
  .Net equivalent of the old vb left(string, length) function?

c#中左边函数的替代方法是什么 我有这个

Left(fac.GetCachedValue("Auto Print Clinical Warnings").ToLower + " ", 1) == "y");

5 个答案:

答案 0 :(得分:114)

听起来你问的是一个功能

string Left(string s, int left)

将返回字符串left的最左侧s个字符。在这种情况下,您可以使用String.Substring。您可以将其写为扩展方法:

public static class StringExtensions
{
    public static string Left(this string value, int maxLength)
    {
        if (string.IsNullOrEmpty(value)) return value;
        maxLength = Math.Abs(maxLength);

        return ( value.Length <= maxLength 
               ? value 
               : value.Substring(0, maxLength)
               );
    }
}

并像这样使用它:

string left = s.Left(number);

对于您的具体示例:

string s = fac.GetCachedValue("Auto Print Clinical Warnings").ToLower() + " ";
string left = s.Substring(0, 1);

答案 1 :(得分:53)

它是String的Substring方法,第一个参数设置为0。

 myString.Substring(0,1);

[以下是Almo添加的;请参阅Justin J Stark的评论。 -Peter O。]

警告: 如果字符串的长度小于您正在使用的字符数,则会得到ArgumentOutOfRangeException

答案 2 :(得分:9)

写下您真正想知道的内容:

fac.GetCachedValue("Auto Print Clinical Warnings").ToLower().StartsWith("y")

它比使用子串的任何东西都简单得多。

答案 3 :(得分:8)

使用子串函数:

yourString.Substring(0, length);

答案 4 :(得分:-1)

var value = fac.GetCachedValue("Auto Print Clinical Warnings")
// 0 = Start at the first character
// 1 = The length of the string to grab
if (value.ToLower().SubString(0, 1) == "y")
{
    // Do your stuff.
}