2013-10-24 2 views
1

Я почти закончил работу с MIT OpenCourseWare об информатике, и у меня есть большая проблема. Все, что было на Python, и теперь мне нужно использовать C# из-за моих исследований, но я потерян, я полностью потерян, я понятия не имею, что я делаю, как это и что работает. Я не понимаю почти понятия в C#. Я читаю руководства, учебные пособия. Я также прочитал много вопросов/вопросов. Какие-либо предложения? Я просто пытался написать что-то самостоятельно, как скрипт в моей игре друзей, но я застрял. Я даже не могу выбрать случайный массив из двухмерного массива, а затем перебрать этот выбранный массив.От Python до C#. Начиная с нуля?

class MainClass 
    { 
     static double[]result = { 120, 160, 200 }; 
     static double[,]steeds = { 
      {150,0,255} , //black steed 
      {255,150,0} , //maroon steed 
      {0,255,150} //white steed 
     }; 
     public static void Main (string[] args) 
     { 
      Random r = new Random(); 
      double[]random_steed = steeds[ ////here i cant even type a char "r" it gives me "Random" automatically 
     } 

Я хотел бы выбрать случайный массив из этого двумерного и затем перебрать его. Пожалуйста, помогите мне.

+0

Если вы вынуждены использовать .NET, вы можете использовать IronPython. –

+0

Желтая книга Роб Миля - лучшее введение для C#. Он не имеет никакого фона, и это очень ясно. –

+0

Не паникуйте: если вы поняли Python, вы можете узнать C#. Вам нужно будет изучить новые синтаксисы и библиотеки (включая структуры данных и способы их выполнения), но вы можете это изучить. –

ответ

0

double[,] является multi-dimensional array. Хотя они используют их, они могут быть трудными в использовании и обычно не используются. Возможно, вы захотите использовать jagged array, например double[][]. Вы можете использовать его следующим образом:

static double[]result = { 120, 160, 200 }; 
static double[][]steeds = { 
    new double[] {150,0,255} , //black steed 
    new double[] {255,150,0} , //maroon steed 
    new double[] {0,255,150} //white steed 
}; 
public static void Main (string[] args) 
{ 
    Random r = new Random(); 
    double[] random_steed = steeds[r.Next(steeds.Length)]; 
    Console.WriteLine(string.Join(",", random_steed)); // might print 255,150,0 
} 
+0

Спасибо большое, это отлично работает. Надеюсь, я скоро смогу понять все в коде. –

0

Ваш правильный путь. Я бы попробовал что-то вроде этого.

int r1 = r.Next(0, 2); 
int r2 = r.Next(0, 2); 
double random_steed = steeds[r1, r2]; 
+0

Спасибо за быстрый ответ :) –

Смежные вопросы