SORU
27 EKİM 2010, ÇARŞAMBA


2 Liste&; T> C kaldırma yinelenen değerleri ile lt birleştirme nasıl#

Birleştirmek istediğim iki liste Listesi var ve kaldırılması her iki listede yinelenen değerler

Sonuç olarak açıklamak, bu yüzden benim kod gibi görünüyor ne, ne istediğimi bir örnek göstereyim biraz sert, örnek bir sınıf değil ResultAnalysisFileSql int türü kullanıyorum.

= first_list[1, 12, 12, 5]

= second_list[12, 5, 7, 9, 1]

İki listeyi birleştirme sonucu bu listede neden: = resulting_list[1, 12, 5, 7, 9]

Sonuç ilk liste, iki de dahil olmak üzere "12" değerler ve second_list 12, Ek 1 ve 5 bir değeri vardır. fark edeceksiniz

ResultAnalysisFileSql sınıf

[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;
        }


    }

Birleştirme ve kaldırma çiftleri için herhangi bir örnek kod ?

CEVAP
27 EKİM 2010, ÇARŞAMBA


Enumerable.Union bir göz vardı

Bu yöntem dönüş set yinelenen öğeleri dışlar. Bu farklı eğer herhangi bir parametre için davranış yöntem döndüren, tüm unsurları giriş dizileri de dahil olmak üzere, çoğaltır.

List<int> list1 = new List<int> { 1, 12, 12, 5};
List<int> list2 = new List<int> { 12, 5, 7, 9, 1 };
List<int> ulist = list1.Union(list2).ToList();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kupa World

    Kupa World

    1 EYLÜL 2011
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009