小编Mar*_*ade的帖子

实现C#yield语句的算法

我想自己弄明白,但我想知道将带有yield语句的函数转换为枚举器状态机的算法是什么?例如,C#如何转变:

IEnumerator<string> strings(IEnumerable<string> args)
 { IEnumerator<string> enumerator2 = getAnotherEnumerator();     
   foreach(var arg in arg) 
    { enumerator2.MoveNext();
      yield return arg+enumerator.Current;
    } 
 }
Run Code Online (Sandbox Code Playgroud)

进入这个:

bool MoveNext()
 { switch (this.state)
    {
        case 0:
            this.state = -1;
            this.enumerator2 = getAnotherEnumerator();
            this.argsEnumerator = this.args.GetEnumerator();
            this.state = 1;
            while (this.argsEnumerator.MoveNext())
            {
                this.arg = this.argsEnumerator.Current;
                this.enumerator2.MoveNext();
                this.current = this.arg + this.enumerator2.Current;
                this.state = 2;
                return true;

              state1:
                this.state = 1;
            }
            this.state = -1;
            if (this.argsEnumerator != null) this.argsEnumerator.Dispose();
            break;

        case 2:
            goto state1;
    }
    return …
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction algorithm iterator state-machine

31
推荐指数
3
解决办法
3843
查看次数

功能编程架构

我熟悉面向对象的体系结构,包括使用设计模式和类图进行可视化,我知道面向服务的体系结构及其契约和协议绑定,但是有一个关于系统的软件体系结构的特性.函数式编程语言?

我知道FP已被用于中型到大型项目.保罗格雷厄姆写了雅虎的第一个化身!存储在Common Lisp中.一些lisp开发系统很复杂.用函数式语言编写的人工智能和金融系统可以变得非常大.他们都至少拥有某种固有的架构,但我想知道他们是否有任何共同之处?

基于表达式评估的架构是什么样的?FP架构是否更具可组合性?

更新:凯尔提醒我,SICP是这个主题的一个很好的资源.

更新2:我发现了一个关于这个主题的好文章: 函数式编程如何影响代码的结构?

architecture functional-programming

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

Visual Studio解决方案中的文件夹或项目?

将解决方案拆分为逻辑层时,何时最好使用单独的项目而不仅仅是按文件夹分组?

projects-and-solutions visual-studio

29
推荐指数
3
解决办法
3860
查看次数

有一种简单的方法可以使用InternalsVisibleToAttribute吗?

我有一个C#项目和一个带有主项目单元测试的测试项目.我想要有可测试的internal方法,我想测试它们没有你可以使用Visual Studio测试项目的神奇Accessor对象.我想使用,InternalsVisibleToAttribute但每次我都这样做,我必须回去查看如何做,我记得包括创建用于签署程序集的密钥文件,然后使用sn.exe获取公钥等等.

  • 是否有一个实用程序可以自动创建SNK文件,设置项目以对程序集进行签名,提取公钥以及应用InternalsVisibleTo属性?

  • 有没有办法使用没有签名程序集的属性?

.net c# visual-studio

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

什么是catamorphism并且可以在C#3.0中实现?

我正在尝试了解catamorphisms,我已经阅读了维基百科文章以及F#博客上F#主题系列中的第一篇文章.

我理解这是折叠的概括(即,将许多值的结构映射到一个值,包括值列表到另一个列表).我认为折叠列表和折叠树是一个典型的例子.

可以使用LINQ的Aggregate运算符或其他一些更高阶的方法在C#中显示它吗?

c# f# functional-programming catamorphism recursion-schemes

26
推荐指数
3
解决办法
9823
查看次数

查看解决方案用户选项文件(.suo)内容的工具

是否有可用的免费工具来查看解决方案用户选项文件(解决方案文件附带的.suo文件)的内容?

我知道它基本上被格式化为文件中的文件系统,但我希望能够查看内容,以便我可以弄清楚我的解决方案和自定义的哪些方面导致它随着时间的推移而变得非常大.

suo projects-and-solutions visual-studio

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

C#通过连接字符串检索正确的DbConnection对象

我有一个连接字符串传递给一个函数,我需要基于这个字符串创建一个基于DbConnection的对象(即SQLConnection,OracleConnection,OLEDbConnection等).

是否有任何内置功能可以执行此操作,或任何第三方库可以提供帮助.我们不一定要构建这个连接字符串,所以我们不能依赖于写入字符串的格式来确定它的类型,我宁愿不必编写可能的连接字符串的所有组合和排列

.net ado.net connection-string dbconnection

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

了解RDF/OWL的最佳方法是什么?

什么参考文献提供了使用RDF/OWL的好的总结/教程?似乎有足够的工具(Protege,Topbraid,Jena等)知道标记语言的语法是不必要的,但当然,了解这些概念仍然是至关重要的.

我正在研究w3c文档(特别是RDF Primer),但我也想找到其他资源/技术.

rdf semantic-web owl web-standards

20
推荐指数
4
解决办法
7675
查看次数

C# - 如何获得"Everybody"用户?

我已经编写了一个代码,可以创建共享并更改当前用户的权限.目标是始终允许所有人在共享级别上并拒绝ntfs acl级别的权限.

我使用德语窗口,我注意到我只能使用"jeder"访问每个用户.在英语中,我认为用户是"每个人"还是"所有人"?!无论如何,我正在寻找一种方法来获得每个用户语言独立的名称.

希望这是可能的.

c# acl

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

你如何对TCP服务器进行单元测试?它甚至值得吗?

我正在开发一个小型TCP服务器,它将处理一些TCP数据包,并根据请求采取不同的行为.

我怎么能为此编写单元测试?如果真的很难写,那还值得努力吗?

.net tdd unit-testing tcp

17
推荐指数
2
解决办法
5499
查看次数