c# - 将字符串对象转换为 SqlString 时出现异常

标签 c# types casting

我在遵循简单的 C# 方法时遇到了一个简单的转换问题

using System;
using System.Data.SqlTypes;

...

private void method1() {
    string s = "TestString";
    object o = s;
    SqlString t1 = (SqlString) s;
    SqlString t2 = (SqlString) o;
}

...

当直接从 s 转换时(在 t1 的情况下),我没有得到任何错误但是当从 o 转换时我得到异常:

Specified cast is not valid.

我在从 object 转换为所有类型 System.Data.SqlTypes 时遇到同样的问题

如何将其中包含字符串的对象转换为SqlString

最佳答案

这是因为有一个 implicit conversion operator for String to SqlString .

换句话说,您不是在处理简单的内置转换:SqlString 的设计者决定允许您将字符串转换为 SqlString。他们没有为 Object 这样做,因此出现了您看到的错误。

关于c# - 将字符串对象转换为 SqlString 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028611/

相关文章:

swift - 将 AnyObject 转换为特定类

c# - ViewBag 中的 System.Random 不显示为字符串?

types - 如何解决 Coq 中无效类型相等的目标?

types - 如何在不执行功能的情况下强制执行 super 特征?

java - 如何编写具有泛型类类型的 java 方法?

php - 为什么 PHP 和 JavaScript 在处理八进制和十六进制数时会出现问题?

mysql - 将 int 字段转换为日期字段(mysql)

c# - 按值传递接口(interface)成员

c# - Entity Framework Linq、Left Join 和 Group with SUM 和 Count

c# - 使用 Linq 表达式返回默认 DateTime