小编The*_*her的帖子

LINQ递归函数?

让我们以这种n层深层结构为例:

public class SomeItem 
{
     public Guid ID { get;set; }
     public string Name { get; set; }
     public bool HasChildren { get;set; }
     public IEnumerable<SomeItem> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我希望得到的ID(在任何地方结构)的特定项目是有一些LINQ上帝,我可以用它来轻松搞定它在单个语句或做我必须如下使用一些递归函数:

   private SomeItem GetSomeItem(IEnumerable<SomeItem> items, Guid ID)
    {
        foreach (var item in items)
        {
            if (item.ID == ID)
            {
                return item;
            }
            else if (item.HasChildren)
            {
                return GetSomeItem(item.Children, ID);
            }
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

linq recursion c#-4.0

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

比较整数和整数或字符串和字符串是否更有效

我有一个用c#编写的程序,其中有一些int和字符串之间的比较.

因此,出于性能原因,我想知道哪个更有效?

如果我们有:

int a  = 5;
string b = "5";

if(a == int.Parse(b)) { }
Run Code Online (Sandbox Code Playgroud)

要么

if(a.ToString() == b) { }
Run Code Online (Sandbox Code Playgroud)

c# performance

7
推荐指数
2
解决办法
7335
查看次数

如何使用facebook的REST API调用"LiveMessage.Send"

这可能是一个"可能"的副本(我在这里读了几个答案,没有引起我的注意:/)在这种情况下我道歉!然而,我一直在敲我的头3天,现在试图做到这一点!

我有一个正常的Canvas应用程序设置(因为FBML已被弃用).我想要做的只是当用户"允许"访问我的应用程序时,聊天消息必须出现在他的浏览器中.

我已经阅读了大约100次API,试图看看我做错了什么,或者这是否可能.有些人说过这个有用,有些人说这个方法需要一个只能在FBJS中初始化"LiveMessage"对象时才能创建的事件钩子.

有人知道是否有办法做到这一点,或者这是否可能?如果没有,有什么替代品?

先感谢您!

facebook facebook-c#-sdk

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

IIS 7反向代理背后的Websocket服务器

我使用.NET 4.0和Sockets使用hybi-17规范构建了一个WebSocket聊天服务器.如果浏览器连接到端口81上的聊天服务器,则一切都按预期运行.但是由于公司防火墙等 - 我需要浏览器连接到端口80,因为这需要全世界的每台PC都可以访问.

所以我使用IIS 7作为反向代理.我已经设法让浏览器连接到IIS 7上的ws:// localhost/chatProxy,然后将请求代理到http:// localhost:81/chatProxy,其中websocket服务器正在侦听.

Websocket服务器执行握手并为连接创建套接字,然后返回到侦听状态.

问题是,在客户端,websocket"onopen"事件永远不会被触发.就好像IIS不会将请求发送回浏览器一样.

任何帮助将受到高度赞赏!

提前致谢!!

c# reverse-proxy websocket

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