小编Rom*_*ein的帖子

为什么SQL Server不支持无符号数据类型?

我特意想的是未签名int.

这是一个实际的例子:当你的身份栏最大化时你会怎么做?它可以去BigInt(8字节存储而不是4字节)或重构应用程序以支持负整数,甚至可以创建自己的规则,如本答案所示 ; 这两种选择都不是最佳选择.

UInt 将是一个理想的解决方案,但SQL Server不提供它(MySQL在哪里).

我知道无符号数据类型不是SQL标准(SQL-2003)的一部分,但对我来说似乎仍然是一种浪费.

不包括这些(在SQL Server或标准中)的原因是什么?

sql sql-server sqldatatypes unsigned-integer

75
推荐指数
3
解决办法
5万
查看次数

XmlReader和MemoryStream,返回的xml未命中标记

有人可以向我解释这种行为吗?

如果您使用第一个字符串执行帖子底部的片段,它将返回与用于输入的字符串完全相同的字符串; 这就是我的预期.

输入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)

c# xml memorystream xmlreader

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