C# 如何使用谓词<;字符串>;?
我正在分析某个.exe文件以将其转换为源代码,我无法理解包含C# 如何使用谓词<;字符串>;?,c#,.net,c#-4.0,reflector,C#,.net,C# 4.0,Reflector,我正在分析某个.exe文件以将其转换为源代码,我无法理解包含9\u 0的行。这是什么意思?为什么我们使用谓词?有人能帮忙吗?或者这是由.Net Reflector生成的垃圾代码 Console.WriteLine("Processing log file for failed case..." + str4); while (true) { Predicate<string> <>9__0; item = reader.ReadLine(); i
9\u 0
的行。这是什么意思?为什么我们使用谓词
?有人能帮忙吗?或者这是由.Net Reflector生成的垃圾代码
Console.WriteLine("Processing log file for failed case..." + str4);
while (true)
{
Predicate<string> <>9__0;
item = reader.ReadLine();
if (item != null)
{
source.Add(item);
continue;
}
Console.WriteLine(source.Count<string>());
Predicate<string> match = <>9__0;
if (<>9__0 == null)
{
Predicate<string> local1 = <>9__0;
match = <>9__0 = x => x.ToLower().Contains(match3.ToLower());
}
List<string> list1 = new List<string>();
foreach (string str8 in source.GetRange(source.FindIndex(match) - 10, 12))
{
builder.AppendLine(str8);
}
break;
}
Console.WriteLine(“处理失败案例的日志文件…”+str4);
while(true)
{
谓词9_uu0;
item=reader.ReadLine();
如果(项!=null)
{
来源.添加(项目);
继续;
}
Console.WriteLine(source.Count());
谓词匹配=9_u0;
如果(9__0==null)
{
谓词local1=9_0;
match=9\uuu0=x=>x.ToLower().Contains(match3.ToLower());
}
List list1=新列表();
foreach(source.GetRange(source.FindIndex(match)-10,12)中的字符串str8)
{
建筑商附录(str8);
}
打破
}
9\uu0
这是混淆的结果,通常是变量、函数、方法、委托等的重命名。如果您想知道谓词是什么类型(以及它可以用于什么),为什么不查找此类型的文档?做什么,它需要什么样的参数?List.FindIndex
在参数中需要一个谓词
,即委托能够返回一个布尔值,指示列表中的项是否与条件匹配。当通过匿名方法或lambda提供实现时,C#会给它一个无法给方法命名的名称,这可能就是您看到9_u0
的原因。如果要验证这一点,请创建一个C#程序,将匿名方法传递给FindIndex
,并使用Reflector对其进行反编译。@đxě,我已经删除了我的评论。写完后,我马上意识到,摆在我面前的vc74比我在粗糙的评论中解释得更加雄辩;-)<代码>9_uu0
这是混淆的结果,通常是变量、函数、方法、委托等的重命名。如果您想知道谓词的类型是什么(以及它可以用于什么),为什么不查找此类型的文档?做什么,它需要什么样的参数?List.FindIndex
在参数中需要一个谓词
,即委托能够返回一个布尔值,指示列表中的项是否与条件匹配。当通过匿名方法或lambda提供实现时,C#会给它一个无法给方法命名的名称,这可能就是您看到9_u0
的原因。如果要验证这一点,请创建一个C#程序,将匿名方法传递给FindIndex
,并使用Reflector对其进行反编译。@đxě,我已经删除了我的评论。写完后,我马上意识到,摆在我面前的vc74比我在粗糙的评论中解释得更加雄辩;-)