C# 什么';这是“什么?”;对",;将数据从一种类型转换为另一种类型的方法?

C# 什么';这是“什么?”;对",;将数据从一种类型转换为另一种类型的方法?,c#,.net,C#,.net,我很好奇.NET中转换内置类型的“正确”方法是什么。目前我使用的Convert.To[type]([variable])没有任何空检查或任何东西。执行此操作的最佳方法是什么?某些类型,如int(Int32)具有TryParse方法。 如果存在这样的方法,我会尝试使用它。 否则,我会执行一个空检查,然后像您所描述的那样将.Convert.To转换为 不确定是否有“正确”的方法,就像大多数任务一样,它是上下文相关的 善良 丹看到了吗 在大多数情况下,演员都说“这 类型A的对象实际上是一个对象 B类“

我很好奇.NET中转换内置类型的“正确”方法是什么。目前我使用的
Convert.To[type]([variable])
没有任何空检查或任何东西。执行此操作的最佳方法是什么?

某些类型,如
int
Int32
)具有
TryParse
方法。 如果存在这样的方法,我会尝试使用它。 否则,我会执行一个空检查,然后像您所描述的那样将.Convert.To转换为

不确定是否有“正确”的方法,就像大多数任务一样,它是上下文相关的

善良

丹看到了吗

在大多数情况下,演员都说“这 类型A的对象实际上是一个对象 B类“从A派生而来” Convert.To*()函数这样说 对象不是类型B,但有 存在转换为类型B的方法”


这取决于情况。我最好的建议是好好学习,变得熟悉,这样你就可以自己做出更好的选择,但你应该从以下几点开始

System.Int32.TryParse()
(大多数基本类型都有等效项)

DateTime.ParseExact()


许多类型都有可以使用的TryParse方法。例如:

string input = null;
bool result;
Boolean.TryParse(input, out result);
// result ...
当要解析的输入为null时,上述内容有效且不会引发异常

在将项转换为字符串时,您几乎可以始终依赖于对对象调用ToString()方法。但是,对null对象调用它将引发异常

StringBuilder sb = new StringBuilder();
Console.WriteLine(sb.ToString()); // valid, returns String.Empty
StringBuilder sb = null;
Console.WriteLine(sb.ToString()); // invalid, throws a NullReferenceException
一个例外是对可为null的类型调用ToString(),该类型也将返回String.Empty

int? x = null;
Console.WriteLine(x.ToString()); // no exception thrown

因此,调用ToString时要小心;根据对象的不同,可能需要显式检查null。

我理解转换是什么,但我想知道最好的方法。我最喜欢的是看到这样的代码:string test=“123”;txtBox.Text=test.ToString();lol