110,561
社区成员
发帖
与我相关
我的任务
分享
for(var i=0; i< source.Count - 4; i++)
{
if (source[i] == "错" && source[i + 1] == "错" && source[i + 2] == "错" && source[i + 3] == "对")
{
result.Add(i);
i = i +3;
}
}
这类东西你在数据结构/算法课程中(例如有关字符串匹配的 KMP 算法)中学到。但是前提是,有些人确实是连 for 循环里边嵌入稍微复杂的2条逻辑判断语句都写不好,这就是缺乏训练的表现,说明他更多地是靠自学的东西(没有强化专业知识),许多花钱培训一年但是上错了学校的人经常在实习时表现这个问题。var source = new List<string>();
source.Add("错");
//.....
var result = new List<int>();
for(var i=0; i< source.Count - 4; i++)
{
if (source[i] == "错" && source[i + 1] == "错" && source[i + 2] == "错" && source[i + 3] == "对")
result.Add(i);
}
赶紧找个地方真正学一下编程入门。这些都是业余爱好编程的人一开始学的,将来(2年之内)尽量再学点有关数据结构、算法等等专业课。 static void Main(string[] args)
{
var source = new List<dynamic>()
{
new {Id = 163224, Val = "错" },
new {Id = 163223, Val = "错" },
new {Id = 163222, Val = "错" },
new {Id = 163221, Val = "错" },
new {Id = 163220, Val = "错" },
new {Id = 163219, Val = "错" },
new {Id = 163218, Val = "错" },
new {Id = 163217, Val = "对" },
new {Id = 163216, Val = "对" },
new {Id = 163215, Val = "错" },
new {Id = 163214, Val = "错" },
new {Id = 163213, Val = "对" },
new {Id = 163212, Val = "对" },
new {Id = 163211, Val = "对" },
new {Id = 163210, Val = "对" },
new {Id = 163209, Val = "对" },
new {Id = 163208, Val = "错" },
new {Id = 163207, Val = "对" },
new {Id = 163206, Val = "错" },
new {Id = 163205, Val = "错" },
new {Id = 163204, Val = "错" },
new {Id = 163203, Val = "错" },
new {Id = 163202, Val = "对" },
new {Id = 163201, Val = "错" },
new {Id = 163200, Val = "对" },
new {Id = 163199, Val = "错" },
new {Id = 163198, Val = "对" },
new {Id = 163197, Val = "对" },
new {Id = 163196, Val = "错" },
new {Id = 163195, Val = "错" },
new {Id = 163194, Val = "对" },
new {Id = 163193, Val = "对" },
new {Id = 163192, Val = "错" },
new {Id = 163191, Val = "对" },
new {Id = 163190, Val = "对" },
new {Id = 163189, Val = "错" },
new {Id = 163188, Val = "错" },
new {Id = 163187, Val = "错" },
new {Id = 163186, Val = "对" },
new {Id = 163185, Val = "对" },
new {Id = 163184, Val = "错" },
new {Id = 163183, Val = "错" },
new {Id = 163182, Val = "错" },
new {Id = 163181, Val = "错" },
new {Id = 163180, Val = "错" },
new {Id = 163179, Val = "错" },
new {Id = 163178, Val = "对" },
new {Id = 163177, Val = "错" },
new {Id = 163176, Val = "错" },
new {Id = 163175, Val = "对" },
new {Id = 163174, Val = "对" },
new {Id = 163173, Val = "错" },
new {Id = 163172, Val = "对" },
new {Id = 163171, Val = "对" },
new {Id = 163170, Val = "错" },
new {Id = 163169, Val = "对" },
new {Id = 163168, Val = "对" },
new {Id = 163167, Val = "错" },
new {Id = 163166, Val = "对" },
new {Id = 163165, Val = "错" },
new {Id = 163164, Val = "对" },
new {Id = 163163, Val = "对" },
new {Id = 163162, Val = "对" },
new {Id = 163161, Val = "对" },
new {Id = 163160, Val = "错" },
new {Id = 163159, Val = "错" },
new {Id = 163158, Val = "错" },
new {Id = 163157, Val = "错" },
new {Id = 163156, Val = "对" },
new {Id = 163155, Val = "对" },
new {Id = 163154, Val = "错" },
new {Id = 163153, Val = "错" },
new {Id = 163152, Val = "对" },
new {Id = 163151, Val = "错" },
new {Id = 163150, Val = "对" },
new {Id = 163149, Val = "错" },
new {Id = 163148, Val = "错" },
new {Id = 163147, Val = "对" },
new {Id = 163146, Val = "对" },
new {Id = 163145, Val = "错" },
new {Id = 163144, Val = "错" },
new {Id = 163143, Val = "错" },
new {Id = 163142, Val = "对" },
new {Id = 163141, Val = "对" },
new {Id = 163140, Val = "对" },
new {Id = 163139, Val = "错" },
new {Id = 163138, Val = "对" },
new {Id = 163137, Val = "错" },
new {Id = 163136, Val = "错" },
new {Id = 163135, Val = "对" },
new {Id = 163134, Val = "错" },
new {Id = 163133, Val = "错" },
new {Id = 163132, Val = "错" },
new {Id = 163131, Val = "对" },
new {Id = 163130, Val = "错" },
new {Id = 163129, Val = "错" },
new {Id = 163128, Val = "错" },
new {Id = 163127, Val = "对" },
new {Id = 163126, Val = "错" },
new {Id = 163125, Val = "错" },
new {Id = 163124, Val = "错" },
new {Id = 163123, Val = "错" },
new {Id = 163122, Val = "错" },
new {Id = 163121, Val = "对" },
new {Id = 163120, Val = "错" },
new {Id = 163119, Val = "错" },
new {Id = 163118, Val = "错" },
new {Id = 163117, Val = "错" },
new {Id = 163116, Val = "对" },
new {Id = 163115, Val = "对" },
new {Id = 163114, Val = "对" },
new {Id = 163113, Val = "错" },
new {Id = 163112, Val = "对" },
new {Id = 163111, Val = "错" },
new {Id = 163110, Val = "对" },
new {Id = 163109, Val = "错" },
new {Id = 163108, Val = "对" },
new {Id = 163107, Val = "对" },
new {Id = 163106, Val = "错" },
new {Id = 163105, Val = "错" },
new {Id = 163104, Val = "对" },
new {Id = 163103, Val = "错" },
new {Id = 163102, Val = "对" },
new {Id = 163101, Val = "对" },
new {Id = 163100, Val = "对" },
new {Id = 163099, Val = "对" },
new {Id = 163098, Val = "错" },
new {Id = 163097, Val = "对" },
new {Id = 163096, Val = "对" },
new {Id = 163095, Val = "错" },
new {Id = 163094, Val = "错" },
new {Id = 163093, Val = "错" },
new {Id = 163092, Val = "错" },
new {Id = 163091, Val = "对" },
new {Id = 163090, Val = "对" },
new {Id = 163089, Val = "错" },
new {Id = 163088, Val = "对" },
new {Id = 163087, Val = "对" },
new {Id = 163086, Val = "错" },
new {Id = 163085, Val = "错" },
new {Id = 163084, Val = "错" },
new {Id = 163083, Val = "错" },
new {Id = 163082, Val = "对" },
new {Id = 163081, Val = "错" },
new {Id = 163080, Val = "对" },
new {Id = 163079, Val = "错" },
new {Id = 163078, Val = "错" },
new {Id = 163077, Val = "对" },
new {Id = 163076, Val = "对" },
new {Id = 163075, Val = "错" },
new {Id = 163074, Val = "错" },
new {Id = 163073, Val = "错" },
new {Id = 163072, Val = "错" },
new {Id = 163071, Val = "错" },
new {Id = 163070, Val = "错" },
new {Id = 163069, Val = "对" },
new {Id = 163068, Val = "对" },
new {Id = 163067, Val = "错" },
new {Id = 163066, Val = "错" },
new {Id = 163065, Val = "错" },
new {Id = 163064, Val = "对" },
new {Id = 163063, Val = "错" },
new {Id = 163062, Val = "错" },
new {Id = 163061, Val = "错" },
new {Id = 163060, Val = "错" },
new {Id = 163059, Val = "错" },
new {Id = 163058, Val = "错" },
new {Id = 163057, Val = "错" },
new {Id = 163056, Val = "对" },
new {Id = 163055, Val = "对" },
new {Id = 163054, Val = "错" },
new {Id = 163053, Val = "对" },
new {Id = 163052, Val = "对" },
new {Id = 163051, Val = "错" },
new {Id = 163050, Val = "对" },
new {Id = 163049, Val = "错" },
new {Id = 163048, Val = "错" },
new {Id = 163047, Val = "对" },
new {Id = 163046, Val = "对" },
};
var result = new List<dynamic>();
var cnt=0;
var i=0;
foreach(var o in source)
{
if (o.Val == "错") cnt++;
else
{
if (cnt == 3) result.AddRange(source.GetRange(i - 3, 4));
cnt = 0;
}
i++;
}
foreach(var o in result) Console.WriteLine(o);
}