none
Değişkeni 2D Array'a Aktarmak ? RRS feed

  • Soru

  • Herkese Merhabalar,

    string karakter = "OO*#**O#O**";

    Şeklinde bir değişkenim var. Bunu '#' olan kısımdan split ile ayırıyorum. '*' olanlar ise boş demek.

    List<string> karakterList= karakter.Split('#').ToList();
    char[][] karakterArray = karakterList.Select(a => a.ToArray()).ToArray(); 

    Bunu bu şekilde ayırabiliyorum. Çıktı bu şekilde oluyor ;

    OO*
    **O
    O**
    Fakat sonuç [][] oluyor. Yani jagged şeklinde çıkarabiliyorum. Ben bunu 2Dimensional şeklinde yani [,] şeklinde nasıl çıkarabilirim ?

    Şimdiden Teşekkürler...

    • Düzenleyen lFurkanl 19 Ocak 2016 Salı 12:28
    19 Ocak 2016 Salı 12:27

Yanıtlar

  • List<List<string>> charList = karakter.Split('#').Select(p=> p.Select(c=> c.ToString()).ToList()).ToList();
    gibi bişey mi yapmaya çalışıyorsun acaba?

    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen lFurkanl 19 Ocak 2016 Salı 16:30
    19 Ocak 2016 Salı 12:31
    Moderatör
  • string karakter = "OO*#**O#O**";
    var rows = karakter.Split('#');
    var colCount = rows.Select(r => r.Count()).Max ();
    var chars = new byte[rows.Count (), colCount];
    
    for (int i = 0; i < rows.Count (); i++)
    {
      for (int j = 0; j < rows[i].Length; j++)
      {
        chars[i, j] = (byte)rows[i][j];
      }
    }

    • Yanıt Olarak İşaretleyen lFurkanl 19 Ocak 2016 Salı 16:30
    19 Ocak 2016 Salı 12:47
    Yanıtlayıcı

Tüm Yanıtlar

  • List<List<string>> charList = karakter.Split('#').Select(p=> p.Select(c=> c.ToString()).ToList()).ToList();
    gibi bişey mi yapmaya çalışıyorsun acaba?

    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen lFurkanl 19 Ocak 2016 Salı 16:30
    19 Ocak 2016 Salı 12:31
    Moderatör
  • string karakter = "OO*#**O#O**";
    var rows = karakter.Split('#');
    var colCount = rows.Select(r => r.Count()).Max ();
    var chars = new byte[rows.Count (), colCount];
    
    for (int i = 0; i < rows.Count (); i++)
    {
      for (int j = 0; j < rows[i].Length; j++)
      {
        chars[i, j] = (byte)rows[i][j];
      }
    }

    • Yanıt Olarak İşaretleyen lFurkanl 19 Ocak 2016 Salı 16:30
    19 Ocak 2016 Salı 12:47
    Yanıtlayıcı