小编Car*_*ngo的帖子

将具有区别联合类型的列表过滤到单个类型

给定一种类型

type C = Circle of int | Rectangle of int * int
Run Code Online (Sandbox Code Playgroud)

和一个集合

let l = [ Circle(1); Circle(2); Rectangle(1,2)]
Run Code Online (Sandbox Code Playgroud)

我只想处理圈子

 let circles = l |> List.filter(fun x-> match x with 
                                        | Circle(l) -> true
                                        | _ -> false)
Run Code Online (Sandbox Code Playgroud)

但我的圈子仍然是C型,所以我做不到

for x in circles do
  printf "circle %d" x.??
Run Code Online (Sandbox Code Playgroud)

我要做

for x in circles do
  match x with 
  | Circle(l) -> printf "circle %d" l
  | _ -> ())
Run Code Online (Sandbox Code Playgroud)

好像错了..

f#

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

实体框架获得SQL连接

根据实体框架中显式关闭连接http://msdn.microsoft.com/en-us/library/bb738582%28v=vs.90%29.aspx,我似乎应该使用上下文来创建连接而不是做以下

using (SqlConnection con = new SqlConnection("Persist Security Info=False;Integrated Security=true;Initial Catalog=Remember;server=(local)"))
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的理解是,我会

  • 摆脱连接字符串
  • 利用EF内置的连接池

但是如何通过上下文获取SQL连接?

c# entity-framework

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

函数式编程中的扩展技术,如F#

在面向对象编程中,继承和虚拟方法是创建可扩展代码的常见方案.在更复杂的设置中,工厂方法(或依赖框架)有助于扩展基本代码.

函数式编程(例如F#)中创建可扩展代码的常用方法是什么?

f# functional-programming

10
推荐指数
2
解决办法
712
查看次数

刷新Silverlight和Chrome的问题

在Windows 7,visual studio 2010上,我无法在Chrome 10.0.648.204中刷新我的silverlight应用程序.即使关闭显示应用程序的选项卡.使用Internet Explorer 8我没有问题.Heelp我更喜欢使用Chrome.

silverlight google-chrome silverlight-4.0

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

list.map和list.collect之间的区别

地图和收藏有什么区别?下面的文档 - 我不能说出差异..


List.map <'T,'U>功能

创建一个新集合,其元素是将给定函数应用于集合的每个元素的结果.

//签名:List.map:('T - >'U) - >'T list - >'U列表


List.collect <'T,'U>功能

对于列表的每个元素,应用给定的函数.连接所有结果并返回组合列表.

collections f#

9
推荐指数
3
解决办法
2975
查看次数

学习依赖注入是否值得通常只做小项目(5-20​​k行)的人?

我通常只是为自己做一个应用程序的业余爱好.看起来DI框架在社区中有很大的发展势头,所以我想也许我应该学习它以提高我的编码技能.据我了解,它似乎更倾向于大项目.在5k线项目中使用它仍然是一个好主意吗?

language-agnostic dependency-injection

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

Specflow的可选参数

我如何才能最好地处理这样一个事实:我的许多步骤应该将0,1或甚至2个日期作为"第一个参数"?例如,我如何最好地支持Specflow中的可选参数

最简单的情况是,只要步骤发生在彼此之后,日期就无关紧要了

 Given Peter was born 23-06-1973
 And Peter created an account
 And Peter deposited $200
Run Code Online (Sandbox Code Playgroud)

通常,很多步骤都与时间有关,例如

 Given Peter was born 23-06-1973
 And at 1-4-2012 Peter created an account
 And at 13-4-2012 Peter deposited $200
Run Code Online (Sandbox Code Playgroud)

在其他时间有两个日期,例如实时日期和发生事件的日期.例如.彼得填写了14-4-2012的印刷表格以进行汇款,但表格丢失了几天,我们今天需要记录表格已于几天前填写.

 Given Peter was born 23-06-1973
 ...
 And at 16-4-2012 really at 14-4-2012 Completed a transfer form to transfer $100 to account 12345 
Run Code Online (Sandbox Code Playgroud)

c# bdd specflow

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

ILGenerator.DeclareLocal()采用一种尚未编译的类

在为我自己的语言编写编译器时,我正在尝试使用Reflection.Emit框架生成一些MSIL代码.int当我声明局部变量时,它可以正常工作.但是,当我想声明一个我尚未编译的类型的局部变量时,我遇到了麻烦,因为它DeclareLocal()接受了一个Type参数.那就是我的未编译类,A仍然需要使用

 assemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(assemName, AssemblyBuilderAccess.RunAndSave);
 module = assemblyBuilder.DefineDynamicModule(Filename); 
 module.DefineType(name, TypeAttributes.Public | TypeAttributes.Class)
Run Code Online (Sandbox Code Playgroud)

那么我将如何能够编译以下程序

class A {
    void M() { B b = new B(); }
}
class B
    void M() { A a = new A(); }
}
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction cil reflection.emit

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

C#数据库访问的建议

嗨,我编写了一些C#,但从未使用过数据库.我想在一些框架中使用带有C#的SQL Server.微软似乎在C#的整个生命周期中都提供了许多框架.这使我很难搜索/选择.

我应该选择哪一个?我正在开发一个简单的3层webapp.我看过一些Entity Framework .Net 4.0视频,但我觉得事情太自动了.我现在需要做一些SQL ..

如果我应该去EF4.0,这真的是最好的参考http://msdn.microsoft.com/en-us/library/bb386876.aspx

有什么建议?

c# database entity-framework database-connection

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

编写.Net平台的汇编代码

我是一位经验丰富的C#开发人员,为了好玩,我想要编写一些汇编代码.我想知道是否最简单的只是用字节代码编写并以某种方式使用C#编译器,链接器.我对如何解决这个问题有点不确定.

或者也许有一个像样的汇编语言有一个步调试器和其他好东西在一个环境中发送,我应该拿起来?

我主要想编写代码来进行计算并输出到控制台窗口.

c# assembly

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