C# 如何在C语言中使用大写字母

C# 如何在C语言中使用大写字母,c#,C#,如何将文本中的第一个字母设置为大写 例如: it is a text. = It is a text. 大概是这样的: // precondition: before must not be an empty string String after = before.Substring(0, 1).ToUpper() + before.Substring(1); 如果您使用的是C,请尝试以下代码: Microsoft.VisualBasic.StrConv(sourceString, M

如何将文本中的第一个字母设置为大写

例如:

it is a text.  = It is a text.

大概是这样的:

// precondition: before must not be an empty string

String after = before.Substring(0, 1).ToUpper() + before.Substring(1);

如果您使用的是C,请尝试以下代码:

Microsoft.VisualBasic.StrConv(sourceString, Microsoft.VisualBasic.vbProperCase)

在大多数情况下,多基因疗法的答案是正确的,但你可能需要考虑文化问题。您希望在当前区域性或特定区域性中以区域性不变的方式将其大写吗?例如,它可以在土耳其产生巨大的变化。因此,您可能需要考虑:

CultureInfo culture = ...;
text = char.ToUpper(text[0], culture) + text.Substring(1);
或者,如果您更喜欢字符串上的方法:

其中区域性可能是CultureInfo.InvariantCulture或当前区域性等


有关这个问题的更多信息,请参阅。

我意识到这是一篇旧文章,但我最近遇到了这个问题,并用以下方法解决了它

    private string capSentences(string str)
    {
        string s = "";

        if (str[str.Length - 1] == '.')
            str = str.Remove(str.Length - 1, 1);

        char[] delim = { '.' };

        string[] tokens = str.Split(delim);

        for (int i = 0; i < tokens.Length; i++)
        {
            tokens[i] = tokens[i].Trim();

            tokens[i] = char.ToUpper(tokens[i][0]) + tokens[i].Substring(1);

            s += tokens[i] + ". ";
        } 

        return s;
    }
在下面的示例中,单击按钮执行这个简单的代码outBox.Text=capSentencesinBox.Text.Trim;它从上面的框中提取文本,并在上面的方法运行后将其放入下面的框中


静态字符串UppercaseWordsString BadName { 字符串FullName=

        if (BadName != null)
        {
            String[] FullBadName = BadName.Split(' ');
            foreach (string Name in FullBadName)
            {
                String SmallName = "";
                if (Name.Length > 1)
                {
                    SmallName = char.ToUpper(Name[0]) + Name.Substring(1).ToLower();
                }
                else
                {
                    SmallName = Name.ToUpper();
                }
                FullName = FullName + " " + SmallName;
            }

        }
        FullName = FullName.Trim();
        FullName = FullName.TrimEnd();
        FullName = FullName.TrimStart();
        return FullName;
    }
请尝试以下代码段:

char nm[] = "this is a test";

if(char.IsLower(nm[0]))  nm[0] = char.ToUpper(nm[0]);

//print result: This is a test

此函数使大写字母成为字符串中所有单词的第一个字母

public static string FormatSentence(string source)
    {
        var words = source.Split(' ').Select(t => t.ToCharArray()).ToList();
        words.ForEach(t =>
        {
            for (int i = 0; i < t.Length; i++)
            {
                t[i] = i.Equals(0) ? char.ToUpper(t[i]) : char.ToLower(t[i]);
            }
        });
        return string.Join(" ", words.Select(t => new string(t)));;
    }
我使用这个变体:

 private string FirstLetterCapital(string str)
        {
            return Char.ToUpper(str[0]) + str.Remove(0, 1);            
        }

从单词中取出第一个字母,然后将其提取到另一个字符串中

strFirstLetter = strWord.Substring(0, 1).ToUpper();
strFullWord = strFirstLetter + strWord.Substring(1);
//首先使用.Trim方法去掉开头和结尾所有不必要的空格,例如这个字符串.Trim将输出这个字符串

str = str.Trim();
char theFirstLetter=str[0];//此行将获取索引0处字符串的第一个字母

第一个stletter.ToUpper;//.totop方法将第一个字母大写

str=theFirstLetter+str.substring1;//我们添加大写的第一个字母,并使用str.substring1 str.substring1跳过索引0处的第一个字母,只打印从索引1到最后一个索引的字母,从而添加字符串的其余部分。

Console.WriteLinestr;//现在它应该输出它是一个文本

您不需要执行source.tocharray。字符串已经是一个字符数组,可以仅使用source[0]对其进行索引.@Alastair,字符串是不可变的,但字符数组不是。@Jacob,哦,是的。显示了我的大脑在一个星期五下午有多死气沉沉:/I我可以建议你写if string.IsNullOrEmptysource返回源;而不是string.Empty吗?:d还可以将方法从ToUpperFirstLetter重命名为ToUpperFirstCharacter,这是一个更相关的名称:strin可以吗G是一个像99个华夫饼之类的东西,你想要得到的是第一个字母?你的第一个字母的定义是什么?可能的复制品是丑陋的。如果你使用C,你为什么要导入/引用VisualBasic DLL?@史提芬:你可以使用C.MaSuff.VisualBasic。StrugsStrujHoad,VBSTRCONV.FraseCB的VB库;考虑D。不同的CultureInfos,以及TextInfos。请告诉我在使用C.NET时需要导入Microsoft.VisualBasic dll的大多数情况。考虑到CultureInfo已使解决方案变得完美…也非常感谢土耳其测试:@Jon Skeet-这完全是我的意图:我实际上想知道与t相比,性能会如何上面的子串方法。@丹尼:我们来讨论一下你的评论。NET也是慢的。C++或汇编程序快得多。这意味着我们需要删除.NET并移动到更快的语言吗?@丹尼:子串使代码简单。我更喜欢先写简单代码,然后在需要的时候用更复杂的代码进行优化。nm=这是一个测试。ToCharray;可以工作吗请添加更多详细信息我已经添加了更多详细信息。
 private string FirstLetterCapital(string str)
        {
            return Char.ToUpper(str[0]) + str.Remove(0, 1);            
        }
strFirstLetter = strWord.Substring(0, 1).ToUpper();
strFullWord = strFirstLetter + strWord.Substring(1);
string str = "it is a text";
str = str.Trim();