我很好奇 C# 如何解释/存储来自 SQL Server 的不同数据类型,然后将这些数据类型存储在 C# 字符串变量中:
例子:
假设我有一个变量来保存从数据库调用中检索到的字符串值:
public string TransactionId {get; set;}
Run Code Online (Sandbox Code Playgroud)
如果出现以下情况,TransactionId 中的值是否会有所不同:
只是想知道这 2 种不同的数据类型如何存储在 C# 字符串类型中。C# 会存储 8 位的 VARCHAR 值和 16 位的 NVARCHAR 值吗?
它们将以几乎完全相同的字符串类型存储。唯一的区别是 SQL 数据库中的 UTF-16 或更大的格式将占用数据库中更多的物理存储空间。例如,如果您仅使用 ASCII/UTF-8(任何 8 位有限字符集),则应存储为 varchar。C# 中的字符串值将与 nvarchar 完全相同,而 varchar 都可以本地转换为字符串。您的字符串的唯一内容差异是使用扩展字符并将其存储在 nvarchar 中。这些不会存储在 varchar 中。
也只是提供信息;SQL 类型中的 var 意味着大小将根据给定的内容动态更改 varchar(n) 其中 n 是它可以达到的最大大小。例如,varbinary(n) 等的工作方式相同。
| 归档时间: |
|
| 查看次数: |
20220 次 |
| 最近记录: |