相关疑难解决方法(0)

当对象确实是一个字符串时,转换vs将对象转换为String

这不是一个真正的问题,但我很好奇.当我将一个字符串保存在一个DataRow中时,它会被转换为Object.当我想使用它时,我必须将其转换为ToString.据我所知,有几种方法可以做到这一点,首先是

string name = (string)DataRowObject["name"]; //valid since I know it's a string
Run Code Online (Sandbox Code Playgroud)

另一个是:

string name = DataRowObject["name"].ToString();
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是两者有什么区别?第一个更有效率吗?(这只是一个推测,在我的脑海中ToString()方法是通过一些循环机制实现的,只是把它"变得"更快,但这只是一种"直觉"我有).

有没有更快/更优雅的方式这样做?

任何人都可以为我清除这个吗?

c# string parsing casting

70
推荐指数
5
解决办法
8万
查看次数

当实际类型为String时,调用Object.ToString时会发生什么

让我们说我们有下面的代码.

var foo = "I am a string";
Object obj = foo;
var bar = obj.ToString();
Run Code Online (Sandbox Code Playgroud)

究竟发生了什么?

  1. 将obj转换为字符串,然后调用ToString方法?
  2. 在obj上调用ToString方法,这是没有强制转换的字符串的覆盖?
  3. 别的什么?

巫婆一个人更好吗?

  1. var bar = obj.ToString();
  2. var bar = (string)obj;

.net c#

6
推荐指数
1
解决办法
339
查看次数

ToString() 和转换为字符串的区别

string id = (string)result.Rows[0]["Id"];
Run Code Online (Sandbox Code Playgroud)

上面的代码行返回InvalidCastException。为什么会这样?

但是,如果我将代码更改为此,

string id = result.Rows[0]["Id"].ToString();

那么它就可以工作了。我在前一行代码中做错了什么吗?

c# string casting

2
推荐指数
1
解决办法
856
查看次数

标签 统计

c# ×3

casting ×2

string ×2

.net ×1

parsing ×1