我正在重写一个 vb.net 应用程序,但我不能说我很擅长使用 vb。我需要用 C# 编写这个等价物:
Dim bigList = (From gme In dtx.gmc_message_elements
Where gme.element_key_name Like "*email" _
Or gme.element_key_name Like "*web"
Or gme.element_key_name Like "*both" _
Select gme.element_key_name Distinct).ToList()
我到目前为止:
var bigList = (from gme in dtx.gmc_message_elements
where gme.element_key_name Like "*email"
|| gme.element_key_name Like "*web"
|| gme.element_key_name Like "*both"
select gme.element_key_name).FirstOrDefault().ToList();
如您所见,我不确定 like 运算符的等价物是什么。我通过几个代码转换器运行它,它们不断地抛出错误。
最佳答案
要获得最等效的功能,请确保您的 C# 项目具有对 Microsoft.VisualBasic 程序集的引用。
然后您可以在 C# 中直接使用 VB.NET Like
运算符,例如
LikeOperator.LikeString(gme.element_key_name, "*web", CompareMethod.Text);
一定要包括
using Microsoft.VisualBasic.CompilerServices;
这将获得最等效的功能,但我认为这有点 hack。
您的其他选择是使用 String.StartsWith
, String.EndsWith
, String.Contains
或 Regex .
关于c# - C# 中是否有类似 VB.NET 的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812662/