ushort 16-битовое целое без знака
Uint 32-битовое целое без знака
ulong 64-битовое целое без знака
decimal 128-битовое
Ключевые слова-переменные: this, void и super

Эти ключевые слова сами являются переменными. Оба языка, Java и C#, имеют по три ключевых слова, которые попадают в эту категорию. Ключевые слова this и void обладают в обоих языках одинаковой функциональностью.

super — эта ссылочная переменная используется для указания класса-предка. В C# эквивалентом является base. Возьмем класс Power, который предоставляет возможность найти степень заданного числа и степень, в которую требуется возвести (при условии, что не происходит переполнение):

public class SuperEX {

 int power;

 public SuperEX(int power) {

  this.power = power;

 }

 public int aMethod(int x) {

  int total = 1;

  for (int i = 0; i < power; i++) {

   total *= x;

  }

  return total;

 }

 public static void main(String args[]) {

  SuperEX x = new SuperEX(Integer.parseInt(args[0]));

  int tot = x.aMethod(Integer.parseInt(args[1]));

  System.out.println(tot);

 }

}

Класс-потомок этого класса сможет получить доступ к методу aMethod с помощью вызова super.aMethod(<int value>), к переменной power — с помощью вызова super.power = <int value>, и даже к конструктору — с помощью вызова super(<int value>), где <int value> может быть любым целым литералом, переменной или константой.

Аналогично в C# класс-потомок этого класса сможет получить доступ к методу aMethod с помощью вызова super.aMethod(<int value>) и к переменной power — с помощью вызова super.power = <int value>. Сделать вызов базового конструктора тоже возможно, синтаксис, однако, будет отличаться. Пример ниже является эквивалентом в C# для SuperEX:

namespace SuperEX {

 using System;

 public class SuperEX {

  internal int power;

  public SuperEX(int power) {

   this.power = power;

  }

  public int aMethod(int x) {

   int total = 1;

   for (int i = 0; i < power; i++) {

    total *= x;

   }

   return total;

  }

  public static void Main(String [] args) {

   SuperEX x = new SuperEX(int.Parse(args[0]));

   int tot = x.aMethod(int.Parse(args[1]));

   Console.WriteLine(tot);

  }

 }

 public class Child: SuperEX {

  public Child() : base(55) { }

 }

}

Как можно видеть на примере класса-потомка Child, вызов конструктора базового класса является частью объявления конструктора класса-потомка. Программист может по своему усмотрению определить список параметров конструктора класса-потомка, но ссылка на конструктор базового класса должна соответствовать списку аргументов, требуемых базовым классом. В данном примере конструктор потомка может получить форму <child constructor>: base constructor(<int value>), где <int value> может быть любым целым литералом, переменной или константой, a <child constructor> представляет любой конструктор потомка, который хочет воспользоваться конструктором базового класса. Более общая версия, как получить доступ к конструктору базового класса, представлена ниже:

ChildConstructor(argument_list) : BaseConstructor(argument_list)

Ключевые слова управления пакетами: import и package

Так же как в Java, в C# инструкции import предоставляют доступ к пакетам и классам в коде без полной квалификации, директива using может использоваться для того, чтобы сделать компоненты пространства имен видимыми в классе без полной квалификации. В C# не существует эквивалента инструкции package. Чтобы сделать класс частью пространства имен, надо поместить его в объявление пространства имен. Пространства имен будут обсуждаться более подробно позже в этой главе.

Ключевые слова управления потоком выполнения и итерациями: break, case, continue, default, do, else, for, if, instanceof, return, switch и while

Большинство упомянутых выше ключевых слов имеют одинаковые имена, синтаксис и функциональность в C# и Java. Исключением является оператор Java instanceof,

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату