这不是关于结果的重用,而是关于语句本身的更多.使用var时也不会出现错误:LINQ to SQL:重用lambda表达式
出于纯粹的好奇心,我想知道是否可以重用一个LINQ语句.
假设我有以下LINQ语句:
.Where(x => x.Contains(""));
Run Code Online (Sandbox Code Playgroud)
是否有可能提取语句x => x.Contains("")并使用某种引用来供以后使用,比方说,另一个类?
所以我可以称之为: .Where(previouslySavedStatement);
我目前正在开发一个 Windows 服务(它启动了,所以这是一件好事)。最大的问题是如何在开始参数字段中获取参数(当然无需手动操作)。
所以我想看到的是以下内容。安装服务后,如果发生以下情况,我会喜欢它。
安装服务并设置启动参数。
怎么会做这样的事情(已经在浏览 StackOverflow 但它不符合我想要的)

我提出这个问题的原因如下:该服务是 GUI 和接收后端之间通信层的一部分。如果后端位置不同(例如另一个 IP 地址),则服务需要相应地具有新地址。
如果您想了解更多信息,请询问(如果某些内容不符合要求,请不要在帖子中“只问:)”)
提前致谢
我最近遇到的一个问题是如下.
我有一个用Delphi编写的.DLL这个DLL有一个函数Divide(它接受两个整数作为参数)并返回它应该的值.
function Divide( aFirstValue, aSecondValue : Integer ) : Double; stdcall;
begin
result := aFirstValue / aSecondValue;
end;
Run Code Online (Sandbox Code Playgroud)
现在如果我使用以下参数'5,0'然后它会抛出DivideByZeroException(这是正确的:))
但是当我从C#调用相同的.DLL时,它根本不会捕获任何异常.
[DllImport("DelphiDLL.DLL", EntryPoint = "Divide", SetLastError = true, CharSet = CharSet.Auto, ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern float Divide(Int32 a, Int32 b);
private void Button_Click_2(object sender, System.EventArgs e)
{
try
{
TB.Text += "Divide(a,b) = ";
float temp;
temp = Divide(Convert.ToInt32(aTB.Text), Convert.ToInt32(bTB.Text));
Console.WriteLine(Marshal.GetLastWin32Error());
TB.Text += Convert.ToString(temp) + "\r\n";
}
catch (DivideByZeroException eMsg)
{
}
}
Run Code Online (Sandbox Code Playgroud) 在Visual Basic .Net中有所谓的属性过程,它可以具有以下外观
public property Name(ByVal x As String) As String
get
return name & x;
end get
set
name = x & value;
end set
end property
Run Code Online (Sandbox Code Playgroud)
c#.net中的等价物是什么.我知道c#有属性和字段,但在整个MSDN网站上我找不到任何对c#属性过程的引用.
非常感谢任何一个例子