Tôi có hai danh sách Danh sách mà tôi cần kết hợp trong danh sách thứ ba và xóa các giá trị trùng lặp khỏi danh sách đó
Hơi khó để giải thích, vì vậy hãy để tôi đưa ra một ví dụ về mã trông như thế nào và kết quả tôi muốn là gì, trong mẫu tôi sử dụng kiểu int không phải là lớp resultAnalysisFileSql.
danh sách đầu tiên = [1, 12, 12, 5]
second_list = [12, 5, 7, 9, 1]
Kết quả của việc kết hợp hai danh sách sẽ dẫn đến danh sách này: result_list = [1, 12, 5, 7, 9]
Bạn sẽ nhận thấy rằng kết quả có danh sách đầu tiên, bao gồm hai giá trị "12" và trong second_list có thêm giá trị 12, 1 và 5.
Lớp resultAnalysisFileSql
[Serializable]
public partial class ResultAnalysisFileSql
{
public string FileSql { get; set; }
public string PathFileSql { get; set; }
public List<ErrorAnalysisSql> Errors { get; set; }
public List<WarningAnalysisSql> Warnings{ get; set; }
public ResultAnalysisFileSql()
{
}
public ResultAnalysisFileSql(string fileSql)
{
if (string.IsNullOrEmpty(fileSql)
|| fileSql.Trim().Length == 0)
{
throw new ArgumentNullException("fileSql", "fileSql is null");
}
if (!fileSql.EndsWith(Utility.ExtensionFicherosErrorYWarning))
{
throw new ArgumentOutOfRangeException("fileSql", "Ruta de fichero Sql no tiene extensión " + Utility.ExtensionFicherosErrorYWarning);
}
PathFileSql = fileSql;
FileSql = ObtenerNombreFicheroSql(fileSql);
Errors = new List<ErrorAnalysisSql>();
Warnings= new List<WarningAnalysisSql>();
}
private string ObtenerNombreFicheroSql(string fileSql)
{
var f = Path.GetFileName(fileSql);
return f.Substring(0, f.IndexOf(Utility.ExtensionFicherosErrorYWarning));
}
public override bool Equals(object obj)
{
if (obj == null)
return false;
if (!(obj is ResultAnalysisFileSql))
return false;
var t = obj as ResultAnalysisFileSql;
return t.FileSql== this.FileSql
&& t.PathFileSql == this.PathFileSql
&& t.Errors.Count == this.Errors.Count
&& t.Warnings.Count == this.Warnings.Count;
}
}
Bất kỳ mã mẫu để kết hợp và loại bỏ trùng lặp?