小编Rex*_*x M的帖子

348
推荐指数
10
解决办法
55万
查看次数

如何使用linq扩展方法执行左外连接

假设我有一个左外连接:

from f in Foo
join b in Bar on f.Foo_Id equals b.Foo_Id into g
from result in g.DefaultIfEmpty()
select new { Foo = f, Bar = result }
Run Code Online (Sandbox Code Playgroud)

如何使用扩展方法表达相同的任务?例如

Foo.GroupJoin(Bar, f => f.Foo_Id, b => b.Foo_Id, (f,b) => ???)
    .Select(???)
Run Code Online (Sandbox Code Playgroud)

c# lambda linq-to-sql

255
推荐指数
5
解决办法
17万
查看次数

没有可变状态,你怎么能做有用的事情?

我最近一直在阅读很多关于函数式编程的东西,我可以理解它的大部分内容,但是我无法解决的一件事就是无状态编码.在我看来,通过删除可变状态简化编程就像通过删除仪表板来"简化"汽车:成品可能更简单,但运气好,使其与最终用户交互.

几乎我能想到的每个用户应用程序都将状态作为核心概念.如果您编写文档(或SO帖子),状态将随每个新输入而变化.或者,如果你玩视频游戏,有很多状态变量,从所有角色的位置开始,他们往往不断移动.如果不跟踪变化的价值,你怎么能做有用的事情呢?

每当我找到讨论这个问题的东西时,它都是用真正技术性的函数来编写的,它假设我没有大量的FP背景.有没有人知道一种方法可以向那些对命令式编码有良好,扎实理解的人解释这一点,但是谁在功能方面是完整的n00b?

编辑:到目前为止,一堆回复似乎试图让我相信不可变值的优点.我得到那个部分.这很有道理.我不明白的是,如何在没有可变变量的情况下跟踪必须改变和不断变化的值.

state functional-programming

252
推荐指数
11
解决办法
4万
查看次数

NHibernate vs LINQ to SQL

作为一个没有在现实世界项目中使用这两种技术的人,我想知道是否有人知道这两者如何相互补充以及它们的功能重叠多少?

linq nhibernate orm linq-to-sql

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

测试泛型类型是字符串的最佳方法是什么?(C#)

我有一个泛型类,应该允许任何类型,原始或其他.唯一的问题是使用default(T).在值类型或字符串上调用default时,它会将其初始化为合理的值(例如空字符串).调用default(T)对象时,它返回null.由于各种原因,我们需要确保如果它不是基本类型,那么我们将有一个类型的默认实例,而不是 null.这是尝试1:

T createDefault()
{
    if(typeof(T).IsValueType)
    {
        return default(T);
    }
    else
    {
        return Activator.CreateInstance<T>();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题 - 字符串不是值类型,但它没有无参数构造函数.那么,目前的解决方案是:

T createDefault()
{
    if(typeof(T).IsValueType || typeof(T).FullName == "System.String")
    {
        return default(T);
    }
    else
    {
        return Activator.CreateInstance<T>();
    }
}
Run Code Online (Sandbox Code Playgroud)

但这感觉就像一块垃圾.有没有更好的方法来处理字符串案例?

c# generics

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

什么是DLL?

这可能是一个非常noobie的问题,但在今天的Web应用程序开发世界中,许多程序员不需要处理dll,因此不必费心去了解他们的目的.

什么是dll?

  1. 它是干什么用的?
  2. 它是如何工作的?
  3. 你是如何创造一个的?
  4. 在什么情况下创建一个合适的?

我被告知dll用于存储函数库,但除此之外我不太了解.希望有人在这里可以启发我,所以我终于不知道我的Windows目录中的所有.dll文件是做什么的.

dll

85
推荐指数
4
解决办法
4万
查看次数

确定ASP.NET应用程序是否在本地运行

我想知道是否有一种建议的方法来确定asp应用程序是否在本地运行.目前我使用Request对象并在服务器变量上执行localhost或127.0.0.1的字符串搜索,但这有一些限制.最大的一个是Request对象在我需要时并不总是可用.

.net asp.net localhost

76
推荐指数
4
解决办法
3万
查看次数

在ToString()之前检查null

这是场景......

if (entry.Properties["something"].Value != null)
  attribs.something = entry.Properties["something"].Value.ToString();
Run Code Online (Sandbox Code Playgroud)

虽然有效且正常工作,但这看起来很难看.如果我在执行ToString()之前没有检查null,那么如果属性为null,则抛出异常.有没有更好的方法来处理这种情况?

非常感激!

.net c# string properties

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

动态加载css样式表不适用于IE

我动态加载一个css样式表(从jQuery的一点帮助),如下所示:

var head = document.getElementsByTagName('head')[0];
$(document.createElement('link'))
    .attr({ type: 'text/css', href: '../../mz/mz.css', rel: 'stylesheet' })
    .appendTo(head);
Run Code Online (Sandbox Code Playgroud)

这适用于Firefox和谷歌浏览器,但不适用于IE.

有帮助吗?谢谢

html javascript css jquery internet-explorer

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

我为什么要使用接口?

我知道他们强迫你实现方法等,但我不明白为什么你想要使用它们.任何人都可以给我一个很好的例子或解释我为什么要实现这个.

oop interface

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