|
using System;
using System.IO;
using System.Collections;
namespace DifferenceEngine
{
public class TextLine : IComparable
{
public string Line;
public 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 DiffList_TextFile : IDiffList
{
private const int MaxLineLength = int.MaxValue;
private ArrayList _lines;
public DiffList_TextFile(string fileName)
{
_lines = new ArrayList();
using (StringReader sr = new StringReader(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
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
My name is Robert Kanasz and I have been working with ASP.NET, WinForms and C# for several years.
MCSD - Web Applications
MCSE - Data Platform
MCPD - ASP.NET Developer 3.5
- Web Developer 4
MCITP - Database Administrator 2008
- Database Developer 2008
MCSA - SQL Server 2012
MCTS - .NET Framework 3.5, ASP.NET Applications
- SQL Server 2008, Database Development
- SQL Server 2008, Implementation and Maintenance
- .NET Framework 4, Data Access
- .NET Framework 4, Service Communication Applications
- .NET Framework 4, Web Applications
MS - Programming in HTML5 with JavaScript and CSS3 Specialist
Open source projects:
DBScripter - Library for scripting SQL Server database objects
Please, do not forget vote