⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 difftextfile.cs

📁 A Generic, Reusable Diff Algorithm in C# 这是一个用C#实现的Diff程序
💻 CS
字号:
using System;
using System.IO;
using System.Collections;
using Diff;

namespace DiffCalcer
{
	public class TextLine : IComparable
	{
		public string Line;
		private int _hash;

		public TextLine(string str)
		{
			Line = str.Replace("\t","    ");
			_hash = str.GetHashCode();
		}
		#region IComparable Members

		public int CompareTo(object obj)
		{
			return _hash.CompareTo(((TextLine)obj)._hash);
		}

		#endregion
	}


	public class LineFile : IDiffList
	{
		private const int MaxLineLength = 1024;
		private ArrayList _lines;

		public LineFile(string fileName)
		{
			_lines = new ArrayList();
			using (StreamReader sr = new StreamReader(fileName)) 
			{
				String line;
				// Read and display lines from the file until the end of 
				// the file is reached.
				while ((line = sr.ReadLine()) != null) 
				{
					if (line.Length > MaxLineLength)
					{
						throw new InvalidOperationException(
							string.Format("File contains a line greater than {0} characters.",
							MaxLineLength.ToString()));
					}
					_lines.Add(new TextLine(line));
				}
			}

		}
		#region IDiffList Members

		public int Count()
		{
			return _lines.Count;
		}

		public IComparable GetByIndex(int index)
		{
			return (TextLine)_lines[index];
		}

		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -