我特意想的是未签名int.
这是一个实际的例子:当你的身份栏最大化时你会怎么做?它可以去BigInt(8字节存储而不是4字节)或重构应用程序以支持负整数,甚至可以创建自己的规则,如本答案所示 ; 这两种选择都不是最佳选择.
UInt 将是一个理想的解决方案,但SQL Server不提供它(MySQL在哪里).
我知道无符号数据类型不是SQL标准(SQL-2003)的一部分,但对我来说似乎仍然是一种浪费.
不包括这些(在SQL Server或标准中)的原因是什么?
有人可以向我解释这种行为吗?
如果您使用第一个字符串执行帖子底部的片段,它将返回与用于输入的字符串完全相同的字符串; 这就是我的预期.
输入1:
<?xml version='1.0' encoding='UTF-8'?>
<Company>
<Creator>Me</Creator>
<CreationDateTime>2010-01-25T21:58:32.493</CreationDateTime>
<Contacts>
<Contact>
<ContactID>365</ContactID>
</Contact>
</Contacts>
</Company>
Run Code Online (Sandbox Code Playgroud)
输出1:
<?xml version='1.0' encoding='UTF-8'?>
<Company>
<Creator>Me</Creator>
<CreationDateTime>2010-01-25T21:58:32.493</CreationDateTime>
<Contacts>
<Contact>
<ContactID>365</ContactID>
</Contact>
</Contacts>
</Company>
Run Code Online (Sandbox Code Playgroud)
现在,如果您使用第二行(const string xml),这是相同的字符串,但在一行而不是两行,它返回以下
输入2
<?xml version='1.0' encoding='UTF-8'?>
<Company>
<Creator>Me</Creator>
<CreationDateTime>2010-01-25T21:58:32.493</CreationDateTime>
<Contacts>
<Contact>
<ContactID>365</ContactID>
</Contact>
</Contacts>
</Company>
Run Code Online (Sandbox Code Playgroud)
输出2
<?xml version='1.0' encoding='UTF-8'?>
<Creator>Me</Creator>2010-01-25T21:58:32.493
<Contacts>
<Contact>
<ContactID>365</ContactID>
</Contact>
</Contacts>
Run Code Online (Sandbox Code Playgroud)
2之间的唯一区别是第一个在xml声明之后有一个换行符,但是你可以看到第二个输出错过了Parent标签和第三个标签.任何想法?
这是我使用的代码:
public void XmlReader_Eats_Tags_IsTrue()
{
//this first xml declaration is on two lines - line break is right after the xml declaration …Run Code Online (Sandbox Code Playgroud)