Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 没有大写形式时的Char.ToUpper_C#_.net_Unicode_Char_Uppercase - Fatal编程技术网

C# 没有大写形式时的Char.ToUpper

C# 没有大写形式时的Char.ToUpper,c#,.net,unicode,char,uppercase,C#,.net,Unicode,Char,Uppercase,编写转换成camelCase或从camelCase转换成camelCase的方法,我有一个想法——如果有人使用没有大写形式的Unicode字符,并通过我的函数运行它,会怎么样?如果有人将一个已经大写的“A”传递到Char.ToUpper,会怎么样?我检查了参考源,它只是引入了一个DllImport-我知道核心CLR源是可用的,但我不太擅长导航它在我看来它组织得很差,但可能我只是不理解逻辑 当你把这些东西传递给那个函数时会发生什么?我知道我可以测试,但有没有像这样的情况会破坏?任何引发异常或导致任

编写转换成camelCase或从camelCase转换成camelCase的方法,我有一个想法——如果有人使用没有大写形式的Unicode字符,并通过我的函数运行它,会怎么样?如果有人将一个已经大写的“A”传递到Char.ToUpper,会怎么样?我检查了参考源,它只是引入了一个DllImport-我知道核心CLR源是可用的,但我不太擅长导航它在我看来它组织得很差,但可能我只是不理解逻辑

当你把这些东西传递给那个函数时会发生什么?我知道我可以测试,但有没有像这样的情况会破坏?任何引发异常或导致任何类型的失败或意外行为的事件?我希望该函数在任何情况下都会返回原始字符,如果将其转换为大写字符是无效的,但情况确实如此吗?

这在方法的返回值下记录:

c的大写等价物,或者如果c已经是大写的,则c的不变值没有大写等价物,或者不是字母

因此它不会中断,它只会返回调用该方法的字符,保持不变。

根据它返回:

c的大写等价物,如果c为 已经是大写,没有大写等价物,或者不是字母

例如,在6上调用ToUpper将返回6,因为数字没有大写字母

MSDN示例显示了几个不同转换的结果:

using System;

public class Example
{
   public static void Main()
   {
      char[] chars = { 'e', 'E', '6', ',', 'ж', 'ä' };
      foreach (var ch in chars)
          Console.WriteLine("{0} --> {1} {2}", ch, Char.ToUpper(ch),
                            ch == Char.ToUpper(ch) ? "(Same Character)" : "" );
   }
}
// The example displays the following output:
//       e --> E
//       E --> E (Same Character)
//       6 --> 6 (Same Character)
//       , --> , (Same Character)
//       ? --> ?
//       ä --> Ä
各国的文件:

返回值

类型:System.Char

c的大写等价物,或者如果c已经是大写的,则c的不变值没有大写等价物,或者不是字母


我不确定一切,但我遇到了一个案件,我有一个字符没有上限,它只是返回它不变-没有错误。我在VS上的功能,并期待它告诉我,由于某种原因,完全没有考虑看MSDN文件-今天累了,但显然比我想象的更坏!谢谢-我将把这个问题留待讨论,因为这里没有类似的内容,它可以帮助其他人,尽管这有点愚蠢。奇怪的是,根据该代码,“ж”不能显示在注释中,即使它可以显示在上面的文本中。也许他们是在一个特定的代码页中进行编辑,并且在更改时从未更新过注释。