小编Das*_*ave的帖子

将带有List的字典转换为IEnumerable

我有一本字典:

Dictionary<String, List<Foo>> test = new Dictionary<String, List<Foo>>();
Run Code Online (Sandbox Code Playgroud)

然后我填充这个字典,因此我需要列表,所以我可以调用Add().我的问题是函数需要返回:

Dictionary<String, IEnumerable<Foo>>
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法可以做到这一点,而不是通过我的原始字典并手动完成显而易见的循环?

c# ienumerable dictionary

11
推荐指数
2
解决办法
1万
查看次数

没有排序的XSLT Number节点

我有以下xml:

<policy>
    <games>
         <game startTime="11:00"/>
         <game startTime="11:20"/>
         <game startTime="11:40"/>
    </games>
    <games>
         <game startTime="11:10"/>
         <game startTime="11:30"/>
         <game startTime="11:50"/>
    </games>
</Policy>
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个xslt,它将为每个游戏节点添加一个新属性,并按时间顺序添加值,例如

<policy>
    <games>
         <game startTime="11:00" id="1"/>
         <game startTime="11:20" id="3"/>
         <game startTime="11:40" id="5"/>
    </games>
    <games>
         <game startTime="11:10" id="2"/>
         <game startTime="11:30" id="4"/>
         <game startTime="11:50" id="6"/>
    </games>
</policy>
Run Code Online (Sandbox Code Playgroud)

我需要游戏节点保持当前的顺序,所以我不确定xsl:sort是否可行.

目前我有这个,显然只是按当前顺序编号,不会考虑时间属性:

<xsl:template match="game">
    <xsl:copy>
      <xsl:attribute name="id">
        <xsl:value-of select="count(preceding::game) + 1"/>
      </xsl:attribute>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

sorting xslt xslt-1.0

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

SSRS从SOAP消息中删除xml标头

我创建了一个连接到第三方Web服务的SSRS报告.我试图使用ElementPathNode将xml弄平.

我的xml是这样的

<?xml version="1.0" encoding="utf-8"?>
<soap>
<GetAllCustomersResponse>
<GetAllCustomersResult>
    <?xml version="1.0" encoding="utf-8"?>
    <Customers>
        <Customer id="1">
            <Entry>
                <FromTime>2016-07-31T04:00:00</FromTime>
                <ToTime>2016-08-01T04:00:00</ToTime>
            </Entry>
            <Entry>
                <FromTime>2016-08-01T04:00:00</FromTime>
                <ToTime>2016-08-02T04:00:00</ToTime>
            </Entry>
        </Customer>
    </Customers>
</GetAllCustomersResult>
</GetAllCustomersResponse>
</soap>
Run Code Online (Sandbox Code Playgroud)

因此,这是无效的xml,因为返回数据的Web服务正在插入xml声明,然后将其包含在soap消息中.我不认为我可以正确选择数据,例如

<ElementPath>GetAllCustomersResponse/GetAllCustomersResult/Customers/Customer/Entry{FromTime,ToTime}</ElementPath>
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以忽略/删除这个不必要的声明?

xml soap web-services reporting-services ssrs-2008-r2

5
推荐指数
0
解决办法
151
查看次数

PerfView GC触发器原因

我一直在调查ac#server app中的一些垃圾收集问题.我目前正在使用PerfView来做到这一点.在收集了一些数据并获得了一些GC统计数据后,我对其中一个"触发原因"列感到困惑.我得到两个值'AllocLarge'和'AllocSmall'.我搜索了帮助和谷歌,但无法找到这两个术语到底意味着什么.

c# garbage-collection

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

VS数据库项目主键名称

我在Visual Studio 2015中有一个数据库项目。我想命名主键,但它似乎忽略了任何尝试。虽然可以命名默认约束。

CREATE TABLE [dbo].[Stock]
(
    [Id] INT CONSTRAINT [PK_Stock_Id] NOT NULL PRIMARY KEY, 
    [StockCode] NVARCHAR(6) NOT NULL, 
    [CreatedDate] DATETIME2 CONSTRAINT [DF_Stock_CreatedDate] DEFAULT sysutcdatetime() NOT NULL
)
GO
Run Code Online (Sandbox Code Playgroud)

如果单击主键,它甚至具有name属性,但它是只读的。我得到它只是创建脚本而不是发布到SQL Server,它去除了主键上的单词约束和名称。

sql-server database-project visual-studio visual-studio-2015

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