none
C# string.join ile kontrol RRS feed

  • Soru

  • Merhaba Arkadaşlar,

    C#, Bir list içerisindeki verileri string.join ile aralara , ekliyorum fakat bu ekleme işlemini örn 3 lü halinde ekleme yapmak istiyorum örn. AhmetMehmetCemil, YusufAli,Hizir vs şeklinde.

    23 Ocak 2017 Pazartesi 07:24

Yanıtlar

  • void Main()
    {
    	var liste = new[] {"1","2","3","4","5","6","7","8","9","10","11"};
            var sonuç = string.Join(", ", liste.AdetTabanlıGurupla(3).Select(p=> string.Join("", p)));
    }
    
    static class Eklentiler
    {
    	public static IEnumerable<IEnumerable<T>> AdetTabanlıGurupla<T>(this IEnumerable<T> Liste, int Adet = 2)
    	{
    		var p = new List<T>();
    		for(var i = 0; i < Liste.Count(); i++) 
    		{
    			p.Add(Liste.ToList()[i]);
    			if((i+1) % Adet == 0)
    			{
    				yield return p;
    				p = new List<T>();
    			}
    	   }
    	   if(p.Count()>0)
    	   	yield return p;
    	}
    }


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    23 Ocak 2017 Pazartesi 08:06
    Moderatör
  • var liste = new[] {"1","2","3","4","5","6","7","8","9","10","11"};
    
    var strings = liste.Select((l, i) => new {l,i})
    	.GroupBy(e => e.i / 3)
    	.Select(e => string.Join("",e.Select(v => v.l)));

    Sonuç string olarak tek parça istenirse :

    var liste = new[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" }; var stringval = liste.Select((l, i) => new { l, i }) .GroupBy(e => e.i / 3) .Select(e => string.Concat(e.Select(v => v.l))) .Aggregate((x,y)=> string.Concat(x,",",y));

    // 123,456,789,1011




    23 Ocak 2017 Pazartesi 10:39
  • Ne kadar cok yol var :)

    var tekParca = string.Join(",",
    		liste.Select((l, i) => new {l,i})
    		.GroupBy(e => e.i / 3)
    		.Select(e => string.Join("",e.Select(v => v.l)))
    	);

    23 Ocak 2017 Pazartesi 10:57
    Yanıtlayıcı

Tüm Yanıtlar

  • void Main()
    {
    	var liste = new[] {"1","2","3","4","5","6","7","8","9","10","11"};
            var sonuç = string.Join(", ", liste.AdetTabanlıGurupla(3).Select(p=> string.Join("", p)));
    }
    
    static class Eklentiler
    {
    	public static IEnumerable<IEnumerable<T>> AdetTabanlıGurupla<T>(this IEnumerable<T> Liste, int Adet = 2)
    	{
    		var p = new List<T>();
    		for(var i = 0; i < Liste.Count(); i++) 
    		{
    			p.Add(Liste.ToList()[i]);
    			if((i+1) % Adet == 0)
    			{
    				yield return p;
    				p = new List<T>();
    			}
    	   }
    	   if(p.Count()>0)
    	   	yield return p;
    	}
    }


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    23 Ocak 2017 Pazartesi 08:06
    Moderatör
  • var liste = new[] {"1","2","3","4","5","6","7","8","9","10","11"};
    
    var strings = liste.Select((l, i) => new {l,i})
    	.GroupBy(e => e.i / 3)
    	.Select(e => string.Join("",e.Select(v => v.l)));

    23 Ocak 2017 Pazartesi 09:37
    Yanıtlayıcı
  • var liste = new[] {"1","2","3","4","5","6","7","8","9","10","11"};
    
    var strings = liste.Select((l, i) => new {l,i})
    	.GroupBy(e => e.i / 3)
    	.Select(e => string.Join("",e.Select(v => v.l)));

    Sonuç string olarak tek parça istenirse :

    var liste = new[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" }; var stringval = liste.Select((l, i) => new { l, i }) .GroupBy(e => e.i / 3) .Select(e => string.Concat(e.Select(v => v.l))) .Aggregate((x,y)=> string.Concat(x,",",y));

    // 123,456,789,1011




    23 Ocak 2017 Pazartesi 10:39
  • Ne kadar cok yol var :)

    var tekParca = string.Join(",",
    		liste.Select((l, i) => new {l,i})
    		.GroupBy(e => e.i / 3)
    		.Select(e => string.Join("",e.Select(v => v.l)))
    	);

    23 Ocak 2017 Pazartesi 10:57
    Yanıtlayıcı
  •  Cetinbasoz Send me your E-mail

    • Düzenleyen Absi Abasi 20 Mayıs 2017 Cumartesi 16:05
    20 Mayıs 2017 Cumartesi 16:04