public static void Main(string[] args) {

  System.Console.WriteLine('Hello world! This is C# code!');

 }

}

Прежде всего можно заметить, что эти два кода очень похожи, по большей части различия незначительны (такие, как использование заглавных букв в string и Main и использование System.Console.WriteLine вместо System.out.println). Он является, с другой стороны, по-прежнему зависимым от регистра символов.

Необходимо отметить тип string, который в C# также может записываться с заглавной S — как String. Следовательно, приведенный выше код можно записать в следующем виде:

public class Hello {

 public static void Main(String [] args) {

  System.Console.WriteLine('Hello world! This is C# code!');

 }

}

Можно заметить, что спецификатор ранга массива [] перемещен из позиции перед переменной args в примере Java в положение между типом string и переменной args в примере C#. В C# спецификатор ранга массива должен появляться перед именем переменной, так как массив является на самом деле типом данных, что указывается с помощью []:

// C#

int [] X; // массив целых чисел в C#

// пример java

int [] х; // массив целых чисел в java

int x[]; // массив целых чисел в java

Тот же самый код C# можно также представить следующим образом:

using System;

class Hello {

 public static int Main() {

  Console.WriteLine ('Hello world! This is C# code!');

  return 0;

 }

}

Как можно видеть, изменилось несколько элементов. Объявление string [] args в сигнатуре метода является в C# необязательным (хотя скобки должны стоять перед именем параметра), как и использование public при объявлении метода. Ключевое слово using аналогично по смыслу ключевому слову include в Java, и так как System является используемым по умолчанию включением в C#, первая строка позволяет нам опустить System, которое находилось перед Console.WriteLine. Поскольку мы используем в этом примере int вместо void, необходимо включить строку return 0;.

Блоки кода C# заключаются в фигурные кавычки, также как в Java. Можно сказать, что метод Main() является частью класса, так как он заключен в фигурные кавычки. Точкой входа в приложении C# является метод static Main, как требует компилятор. Необходимо отметить, что Java использует main() в нижнем регистре. Подчеркнем также, что только один класс в приложении может иметь Main. Модификатор доступа public (обсуждаемый позднее) объявляет метод доступным потребителям кода вне класса, пакета или приложения, и также, как и компилятор, требует сделать метод видимым.

Аналогично в Java ключевое слове static позволяет вызывать метод сначала без создания экземпляра класса. Для метода Main() можно выбрать в качестве возвращаемого типа значения void или int. void определяет, что метод не возвращает значение, a int определяет, что он возвращает целое значение.

Идентификаторы

Ключевые слова, рассматриваемые в следующем разделе, не могут служить идентификаторами ни в Java, ни в C#, однако в C# можно использовать ключевые слова как идентификаторы, помещая перед ними символ @. Отметим, что это исключение имеет отношение только к ключевым словам и не нарушает другие правила. Оба языка являются зависимы ми от регистра символов, поэтому идентификаторы должны иметь согласованное использование заглавных букв. Хотя идентификаторы могут содержать буквы и цифры, первый символ идентификатора как в C#, так и в Java не должен быть цифрой. Java не допускает никаких символов кроме $, а C# вообще не допускает никаких символов:

int 7х; // неверно, цифра не может начинать идентификатор

int х7; // верно, цифра может быть частью идентификатора

int х; // верно

int х$; // неверно, никакие символы недопустимы

int @7k; // неверно, @ работает только для ключевых слов

int @class; // верно, @ перед ключевым словом позволяет использовать

            // его в качестве идентификатора

Стандарты именования

Одним из основных различий, которое может быть не очевидно на первый взгляд, и которое не связано специально с языком C#, является синтаксис записи идентификаторов. Java практикует обозначения типа camel, означающее, что методы и идентификаторы используют меленькую букву для первой буквы имени и заглавную букву для первой буквы любого другого слова в имени. Общий синтаксис, которому следуют большинство программистов в Java, представлен ниже:

int id;

int idName;

int id_name; // также используется

final int CONSTANT_NAME; // широко распространен

int reallyLongId;

public class ClassName; // каждая первая буква заглавная

public interface _InterfaceName; // с предшествующим подчеркиванием

public void method(){}

public void methodName(){}

public void longMethodName(){}

public void reallyLongMethodName(){}

На основе библиотеки классов, предоставленной компанией Microsoft для C#, можно сделать некоторые предположения о стандартах наименований в C#. Документированные рекомендации по именованию для C# не были представлены в то время когда писалась эта книга. Каждая первая буква идентифицирующих имен всех методов и свойств будет заглавной, так же как и каждая первая буква имен

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

0

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

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