C# 字符串类型检查变量不保存实际字符串

C# 字符串类型检查变量不保存实际字符串,c#,string,visual-studio-2005,C#,String,Visual Studio 2005,下面是我在VisualStudio2005中调试代码时的两个屏幕截图 我想在变量中保存字符串值检查在变量a中,但它保存的-1不是实际字符串,它类似于“admin”如果你想在a中保存检查的值,那么你的赋值方法是错误的。目前,它正在将a的值转换为字符串,并将结果存储在check中 当然,您还没有指定a的类型-它可以在调试器中以某种方式转换为字符串,但是实际的ToString方法可能会被重写以执行不同的操作 如果你真的想用另一种方式来描述这个问题,你需要提供更多的信息——一个简短但完整的程序来证明这

下面是我在VisualStudio2005中调试代码时的两个屏幕截图


我想在变量
中保存字符串值
检查
在变量
a
中,但它保存的
-1
不是实际字符串,它类似于
“admin”

如果你想在
a
中保存
检查
的值,那么你的赋值方法是错误的。目前,它正在将
a
的值转换为字符串,并将结果存储在
check

当然,您还没有指定
a
的类型-它可以在调试器中以某种方式转换为字符串,但是实际的
ToString
方法可能会被重写以执行不同的操作

如果你真的想用另一种方式来描述这个问题,你需要提供更多的信息——一个简短但完整的程序来证明这个问题是理想的


字符串赋值在C#中非常有效-因此,您在代码中执行一些未显示的奇怪操作的可能性非常高。

a的类型是什么?
?顺便说一句,第1行是绝对多余的。您应该编写
string check=a.ToString()
。。。。a.GetType()的ToString()是如何实现的?@gaearon…a是字符串type@Albina.GetType()给了我以下错误“无法将类型'System.type'隐式转换为'string'”+1。这是让调试器显示不同值而不是ToString-DebuggerDisplayAttribute结果的最简单方法-