Опубликован: 01.11.2011 | Доступ: свободный | Студентов: 1424 / 63 | Оценка: 3.84 / 3.44 | Длительность: 15:38:00
Специальности: Программист
Теги:
Лекция 3:
ООП, строки, массивы, коллекции в C#
< Лекция 2 || Лекция 3 || Лекция 4 >
Аннотация: Сопоставляются классы в С++ и C#. Рассматриваются такие вопросы, связанные с классами, как модификаторы доступа, атрибуты, поля, конструкторы, методы, свойства, инкапсуляция, интерфейсы, наследование, неявные преобразования и полиморфизм. Создание объектов, класс System.Object, ключевое слово new. В этой лекции также читатель познакомится со строковыми литералами, с форматными строками, со сравнением строк, с поиском строк с помощью регулярных выражений, с заменой текста. Обсуждаются способы создания массивов, их сортировки и поиска, синхронизация массивов, сравнение массивов с векторами. Многомерные массивы. Коллекции в C#.
Ключевые слова: ПО
Дополнительные материалы к занятию можно скачать здесь.
Вложенные файлы: Presentation_3.pptx
По способам объявления и инициализации массивов C# больше похож на JavaScript, чем на C++.
Одномерные массивы
C# | JavaScript |
---|---|
using System; class Example { static void Main() { double[] a = new double[] {8.3,11.6,4.8,23.11,54.03,26.8,9.4}; int n = a.Length; string str; int i; double sum = 0; for (i = 0; i < n; i++) { Console.WriteLine("a["+ i + "] = " + a[i]); sum += a[i]; } str = "Сумма массива равна " + sum ; Console.WriteLine(str); Console.WriteLine("Нажмите любую кнопку!"); Console.ReadKey(); } } |
<html> <script type="text/javascript"> var i,n,sum,str; a = new Array(8.3,11.6,4.8,23.11,54.03,26.8,9.4); n = a.length; str=""; sum = 0; for (i = 0; i < n; i++) { str+="a["+ i + "] = " + a[i] + "<br>"; sum += a[i]; } str+= "Сумма массива равна " + sum ; document.write(str); </script> </html> |
C++ |
---|
#include<iostream> #include<math.h> using namespace std; void main() { double a[]={8.3,11.6,4.8,23.11,54.03,26.8,9.4}; int n=sizeof(a)/sizeof(a[0]); int i; double sum=0; for(i=0;i<n;i++) { cout<<"\na["<<i<<"] = "<<a[i]; sum+=a[i]; } cout<<"\nsum = "<<sum; } |
Многомерные массивы
Сначала рассмотрим пример на С++ | Объявление и инициализация многомерных массивов в C# и JavaScript существенно отличается от таковой на C++ |
С++ | C# |
---|---|
#include<iostream> #include<math.h> using namespace std; #define n 5 //Количество строк #define m 3 //Количество столбцов void main() { int i,j; double d[n][m]= { {1, 2, 3 }, {4, 5, 6 }, {7, 8, 9 }, {10,11,12}, {13,14,15} }; cout<<"\nArray 5x3:"; for(i=0;i<n;i++) { cout<<"\n"; for(j=0;j<m;j++) { cout<<"\t"<<d[i][j]; } } cout<<"\n"<<endl; } |
using System; class Example { static void print(int[][] alpha) { // Отображаем элементы массива for (int i = 0; i < alpha.Length; i++) { for (int j = 0; j < alpha[i].Length; j++) { System.Console.Write("{0}{1}", alpha[i][j], j == (alpha[i].Length - 1) ? "" : " "); } System.Console.WriteLine(); } } static void Main() { int[][] a = new int[5][]; a[0] = new int[3] { 1, 2, 3 }; a[1] = new int[3] { 4, 5, 6 }; a[2] = new int[3] { 7, 8, 9 }; a[3] = new int[3] { 10, 11, 12 }; a[4] = new int[3] { 13, 14, 15 }; print(a); System.Console.WriteLine("Нажмите любую кнопку!"); System.Console.ReadKey(); } } |
Объявление и инициализация многомерных массивов в C# и JavaScript существенно отличается от таковой на C++ |
JavaScript |
---|
<html> <script type="text/javascript"> var i,j,n,str; a=new Array(); a[0]=new Array(1,2,3); a[1]=new Array(4,5,6); a[2]=new Array(7,8,9); a[3]=new Array(10,11,12); a[4]=new Array(13,14,15); m=3; n=5; str=""; for(i=0;i<n;i++) { for(j=0;j<m;j++) { str+=a[i][j]+ " "; } str+="<br/>"; } document.write(str); </script> </html> |
Поговорим о способах реализации объектно-ориентированного подхода в C# в сравнении с JavaScript.
C# | JavaScript |
---|---|
using System; class Example { class goods { public string ProductName; public DateTime ExpireDate; public double Price; } static void Main() { goods Product = new goods(); Product.ProductName = "Сыр голландский"; Product.ExpireDate = new DateTime(2011, 6, 12, 8, 30, 52); Product.Price = 325; string str; str = "Товар: " + Product.ProductName + "\nСрок годности: " + Product.ExpireDate + "\nЦена: " + Product.Price + " рубля"; Console.WriteLine(str); Console.WriteLine("Нажмите любую кнопку!"); Console.ReadKey(); } } |
<html> <script type="text/javascript"> var ProductName,Price,ExpireDate,str; ProductName="Сыр голландский"; Price=325; ExpireDate=new Date(2011, 6, 12, 8, 30, 52); Product=new Object; Product.ProductName=ProductName; Product.Price=Price; Product.ExpireDate=ExpireDate; str="Товар: " + Product.ProductName + "<br/>" + "Срок годности: " + Product.ExpireDate + "<br>" + "Цена: " + Product.Price + " рубля"; document.write(str); </script> </html> |
< Лекция 2 || Лекция 3 || Лекция 4 >