在C#中利用parse把string 转换为char.

来源:百度知道 编辑:UC知道 时间:2024/06/19 05:36:38
string var1="what";
char var2;
var2 = char.parse(var1);
Console.WriteLine("var1={0}\nvar2={1}", var1, var2);
Console.ReadKey();
编译出错,提示"int"并不包含"parse"的定义.

我Copy你代码编译了一下,提示:“'char' does not contain a definition for 'parse'”,即类char没有包含parse方法的定义。
所以你无法调用方法parse.

后面将char.parse改成char.Parse,弹出错误:
---
The following error occurred while executing the snippet:
System.FormatException: 字符串的长度只能为一个字符。
在 System.Char.Parse(String s)
在 MyClass.RunSnippet()
在 MyClass.Main()
---
Press any key to continue...

再将var1改成string var1="w",则正常打印出,如下:
var1=w
var2=w

上面你犯了2个错误:
1)输入大小写出错!这个问题很多人都会犯的,需要谨慎小心。
2)后面的问题的是对类Char的方法Parse不熟悉,导致出错。String是字符串类型,可以容纳N个字符串,而Char只能容纳一个字符。你将String转化成Char,自然会出错,很正常。

String 对象是 System.Char 对象的有序集合,用于表示字符串。
一个 Char 对象通常表示一个码位,即:Char 的数值等于该码位。但是,一个码位可能需要多个编码元素。例如,Unicode 辅助码位(代理项对)使用两个 Char 对象来编码。

如果你真的要将"waht"字符串转化成字符char "w",那你不能像这样直接处理。

那个parse的第三个字母P字有否大写?
还有,就是var1代表的what并不是单个字符或null字符,这样就能返回一个等效于 s 中的唯一字符的 Unicode 字符。

var2=var1[0]