小编djs*_*ner的帖子

LINQ Aggregate与嵌套的foreach

我想要实现:

foreach (ScheduleItem s in ScheduleItems)
{
    foreach (IScheduleModule m in s.ScheduleModules)
    {
        yield return m;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用LINQ聚合,我不明白为什么

return ScheduleItems.Aggregate(new Collection<IScheduleModule>(), (x, o) => x.Union(o.ScheduleModules) as Collection<IScheduleModule>);
Run Code Online (Sandbox Code Playgroud)

返回null.

我没有使用嵌套foreach的问题,但我的直觉是使用聚合,我不明白为什么它不会产生相同的结果.

还有其他方法吗?在可读性和性能方面最好的是什么?

linq aggregate

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

优化XDocument到XDocument XSLT

以下代码可以正常工作,但是很麻烦而且很慢.我正在使用带有Saxon的XSLT2将XDocument转换为另一个XDocument,使用SaxonWrapper进行调整:

public static XDocument HSRTransform(XDocument source)
{
    System.Reflection.Assembly thisExe = System.Reflection.Assembly.GetExecutingAssembly();
    System.IO.Stream xslfile = thisExe.GetManifestResourceStream("C2KDataTransform.Resources.hsr.xsl");

    XmlDocument xslDoc = new XmlDocument();
    xslDoc.Load(xslfile);

    XmlDocument sourceDoc = new XmlDocument();
    sourceDoc.Load(source.CreateReader());

    var sw = new StringWriter();

    Xsl2Processor processor = new Xsl2Processor();
    processor.Load(xslDoc);

    processor.Transform(sourceDoc, new XmlTextWriter(sw));

    XDocument outputDoc = XDocument.Parse(sw.ToString());
    return outputDoc;
}
Run Code Online (Sandbox Code Playgroud)

我意识到缓慢可能实际上是我无法控制的位,但是有更好的方法来完成XDocument和XmlDocument之间的所有切换以及编写器的使用吗?

c# xslt xslt-2.0

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

iOS,JSON-RPC和NSJSONSerialization:处理空值

我正在使用JSON-RPC在iOS应用程序和服务器之间进行通信.服务器的某些返回值是可选的.

考虑到我正在使用的技术组合,最好是返回这些空值,如{"telephone":null},还是完全省略响应中的"telephone"元素?

对我要问的问题的进一步解释:

它看起来不像JSON-RPC规范与方法结果有很大关系(如果我错了请纠正我)并且显然不发送负载null元素会提高性能并减少带宽.我最感兴趣的是iOS NSJSONSerialization视角下的最佳方法.是否更容易/更好地检查NSDictionary中是否存在密钥或现有密钥是否具有空值?

null cocoa-touch json-rpc ios nsjsonserialization

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

iOS NSUserDefaults检查浮点键是否存在

我想检查存储的浮点数NSUserDefaults是否已预先存在.在苹果公司的文件表明,它floatForKey会return 0如果该键不存在.

如何正确区分存储的0和不存在的密钥?

nsuserdefaults ios

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

iOS App:几个常见主题的崩溃:SIGSEGV和_sigtramp

作为obj-c的新手,我在阅读堆栈跟踪时并不高手,但我通常可以找出代码中的哪个部分开始查找.但是,在测试期间,其中一个测试人员一直报告几个随机崩溃.而且我不能制作堆栈跟踪的头部和尾部,因为它们不指向我自己的任何代码.这是两个:

0 WIT Free 0x000a5a92 _mh_execute_header + 338578
1 WIT Free 0x000a677c _mh_execute_header + 341884
2 libsystem_c.dylib 0x355cc7ec _sigtramp + 48
3 WIT Free 0x000fcd02 _mh_execute_header + 695554
4 WIT Free 0x000fd502 _mh_execute_header + 697602
5 WIT Free 0x000fd0a0 _mh_execute_header + 696480
6 WIT Free 0x000fea9c _mh_execute_header + 703132
7 WIT Free 0x000ffa3a _mh_execute_header + 707130
8 Foundation 0x31e1bc28 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 16
9 Foundation 0x31d736d8 -[NSURLConnectionInternalConnection invokeForDelegate:] + 28
10 Foundation 0x31d736a2 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 198
11 Foundation 0x31d735c4 …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios

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

XPath:递归祖先搜索

选择当前节点后,我希望找到一个元素<name> [./name]并返回文本内容.如果<name>当前所选节点中不存在元素,我希望以[./parent::name]递归方式检查父元素,依此类推,直到根,返回元素所在的最近父元素的值.

可以用XPath完成吗?

xpath parent ancestor

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