相关疑难解决方法(0)

什么是'关闭'?

我问了一个关于Currying和关闭的问题.什么是关闭?它与currying有什么关系?

computer-science glossary functional-programming terminology

403
推荐指数
10
解决办法
12万
查看次数

访问Modified Closure

string [] files = new string[2];
files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml";
files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml";

//Resharper complains this is an "access to modified closure"
for (int i = 0; i < files.Length; i++ )
{
    // Resharper disable AccessToModifiedClosure
    if(Array.Exists(Assembly.GetExecutingAssembly().GetManifestResourceNames(),
    delegate(string name) { return name.Equals(files[i]); }))
         return Assembly.GetExecutingAssembly().GetManifestResourceStream(files[i]);
    // ReSharper restore AccessToModifiedClosure
}
Run Code Online (Sandbox Code Playgroud)

虽然ReSharper抱怨这是"访问修改后的闭包",但上述情况似乎工作正常.任何人都可以阐明这一点吗?

(这个主题在这里继续)

c# resharper closures

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

访问修改后的封闭(2)

这是Access到Modified Closure的问题扩展.我只是想验证以下内容是否足够安全,适合生产使用.

List<string> lists = new List<string>();
//Code to retrieve lists from DB    
foreach (string list in lists)
{
    Button btn = new Button();
    btn.Click += new EventHandler(delegate { MessageBox.Show(list); });
}
Run Code Online (Sandbox Code Playgroud)

我每次启动时都只运行一次.现在似乎工作正常.正如Jon在某些情况下提到的反直觉结果一样.那么我需要注意什么呢?如果列表不止一次运行会没问题吗?

.net c# resharper closures

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

什么是关闭?java有封闭吗?

我正在阅读面向对象的Javascript,并发现了闭包的概念.我不太明白为什么以及何时使用它.像Java这样的其他语言也有闭包吗?我基本上想了解如何了解闭包的概念可以帮助我改进编码.

javascript java closures

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

C#Thread似乎多次启动

本程序应将.txt文件重命名为.txtok.在我的测试目录中,我创建了~10个文本文件.

在运行时,抛出了FileNotFoundException.丢失的文件是一个已经在之前的线程中重命名的文件.

似乎多个线程已经在一个Loop-Iteration中启动了!?

static void Main(string[] args)
    {
        foreach (String s in Directory.EnumerateFiles(@"C:\Test", "*.txt", SearchOption.TopDirectoryOnly))
        {
            new Thread(() =>
            {
                File.Move(s, s + "ok");
            }).Start();                
        }
        Console.ReadKey();
    }
Run Code Online (Sandbox Code Playgroud)

有人有问题吗?

谢谢

c# multithreading

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