CSharpUtils.Diff.DiffTextProcessed C# (CSharp) Метод

DiffTextProcessed() публичный статический Метод

public static DiffTextProcessed ( string listA, string listB ) : ProcessedResult
listA string
listB string
Результат ProcessedResult
		public static ProcessedResult DiffTextProcessed(string[] listA, string[] listB)
		{
			var result = new ProcessedResult();

			var diff = new Diff();

			int lastpos = 0;
			foreach (var v in diff.DiffText(listA, listB))
			{
				for (int i = lastpos; i < v.StartA; i++)
				{
					//writefln(" %s", listA[i]);
					result.Items.Add(new ProcessedItem()
					{
						LineNumber = i,
						Line = listA[i],
						Action = ProcessedItem.ActionEnum.Keep,
					});
				}

				//writefln("lastpos(%d) : %s", lastpos, v);

				for (int i = 0; i < v.deletedA; i++)
				{
					result.Items.Add(new ProcessedItem()
					{
						LineNumber = v.StartA + i,
						Line = listA[v.StartA + i],
						Action = ProcessedItem.ActionEnum.Delete,
					});
				}

				for (int i = 0; i < v.insertedB; i++)
				{
					result.Items.Add(new ProcessedItem()
					{
						LineNumber = v.StartB + i,
						Line = listB[v.StartB + i],
						Action = ProcessedItem.ActionEnum.Insert,
					});
				}

				lastpos = v.StartA;
				lastpos += v.deletedA;
			}

			for (int i = lastpos; i < listA.Length; i++)
			{
				result.Items.Add(new ProcessedItem()
				{
					LineNumber = i,
					Line = listA[i],
					Action = ProcessedItem.ActionEnum.Keep,
				});
			}

			return result;
		}