相关疑难解决方法(0)

C#:使用Lambdas的递归函数

以下不编译:

Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1);
Run Code Online (Sandbox Code Playgroud)

在访问之前,可能不会初始化局部变量'fac'

你怎么能用lambdas做一个递归函数?

[更新]

这里还有两个我觉得有趣的链接:

  1. Eric Lippert的"为什么递归lambda导致明确的赋值错误?"
  2. C#中的匿名递归

c# recursion lambda factorial

27
推荐指数
3
解决办法
7240
查看次数

什么可能导致System.TypeLoadException?

我正在使用C#开发VS2008,这是一款适用于霍尼韦尔Dolphin 6100的应用程序,这是一款带有条码扫描器的移动计算机,它使用Windows CE 5.0,如操作系统.

我想添加一个功能,可以将文件从本地设备发送到远程服务器.我找到了可以保证这一点的图书馆" Tamir.SharpSSH ".我在控制台应用程序和普通的Windows窗体应用程序上测试了代码,它运行得很好.但是当我尝试在winCE设备上使用相同的代码时,我得到一个TypeLoadException并且我有错误消息:

Could not load type 'Tamir.SharpSsh.SshTransferProtocolBase' from assembly 'Tamir.SharpSSH,   
Version=1.1.1.13, Culture=neutral, PublicKeyToken=null'.

我使用的代码如下所示:

SshTransferProtocolBase sshCp = new Scp(Tools.GlobalVarMeth.hostName, Tools.GlobalVarMeth.serverUserName);
sshCp.Password = Tools.GlobalVarMeth.serverUserpassword;
sshCp.Connect();

string localFile = Tools.GlobalVarMeth.applicationPath + "/" + fileName + ".csv";
string remoteFile = Tools.GlobalVarMeth.serverRemoteFilePath + "/" + fileName + ".csv";

sshCp.Put(localFile, remoteFile);

sshCp.Close();
Run Code Online (Sandbox Code Playgroud)

有谁对此有任何想法?我会非常感激!!!

c# ssh smart-device windows-ce visual-studio

24
推荐指数
3
解决办法
6万
查看次数