Чтение онлайн

на главную - закладки

Жанры

C# для профессионалов. Том II

Ватсон Карли

Шрифт:

Блоки кода 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# не были представлены в то время когда писалась эта книга. Каждая первая буква идентифицирующих имен всех методов и свойств будет заглавной, так же как и каждая первая буква имен всех классов и пространств имен (рассматриваемых позже). Интерфейсы используют в качестве первого символа

I
. Некоторые примеры приведены ниже:

int id;

int idName;

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

public interface IInterfaceName // имени интерфейса предшествует I

public void Method{} // первая буква всегда заглавная

public void MethodName{} // первая буква всех других слов

// будет заглавная

public void LongMethodName{}

public void ReallуLongMetodName{}

Ключевые

слова

Как известно, ключевое слово является специальным зарезервированным словом языка. Мы уже встречали некоторые из них допустим, объявление переменной как целого числа с помощью

int
. Другими примерами ключевых слов являются
public
,
class
,
static
и
void
в листингах кода в этом приложении.

Ключевые слова можно разделить на ряд категорий в связи с их назначением. В этом разделе мы выделим и определим каждую категорию, а также идентифицируем ключевые слова. Реальные ключевые слова будут идентифицироваться своими версиями в Java, чтобы можно было легко их находить. Затем будет дан эквивалент C# (если существует). Для тех ключевых слов, которые присутствуют только в Java, будет предоставлено лучшее соответствие. Ключевые слова, представленные в C#, но не в Java, будут даны в своей собственной категории с лучшим приблизительным эквивалентом в Java (если такой существует).

Простейшие ключевые слова: byte, char, short, int, long, float, double и boolean

Примитивные типы данных в обоих языках ссылаются на низкоуровневые типы значений языка. Конечно, диапазон значений указанных типов может различаться в том или другом языке. Логические значения в C# идентифицируются ключевым словом bool в противоположность boolean в Java. Ниже представлен табличный список типов данных Java и их аналогов в C#:

Тип Java Описание Эквивалентный тип C# Описание
byte
8-битовое со знаком
sbyte
8-битовое со знаком
short
16-битовое со знаком
short
16-битовое со знаком
int
32-битовое со знаком
int
32-битовое со знаком
long
64-битовое со знаком
long
64-битовое со знаком
float
32-битовое число с плавающей точкой со знаком
float
32-битовое число с плавающей точкой со знаком
double
64-битовое число с плавающей точкой со знаком
double
64-битовое число с плавающей точкой со знаком
boolean
true/false
bool
true/false
char
2-байтовый Unicode char 2-байтовый Unicode

Существует также ряд типов, поддерживаемых C#, которые Java не использует. Таблица ниже выделяет эти типы данных.

Уникальный тип данных C# Описание
Byte
8-битовое целое без знака
ushort
16-битовое целое без знака
Uint
32-битовое целое без знака
ulong
64-битовое целое без знака
decimal
128-битовое
Поделиться:
Популярные книги

Вамп

Парсиев Дмитрий
3. История одного эволюционера
Фантастика:
рпг
городское фэнтези
постапокалипсис
5.00
рейтинг книги
Вамп

Не грози Дубровскому! Том II

Панарин Антон
2. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том II

Купец III ранга

Вяч Павел
3. Купец
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Купец III ранга

Газлайтер. Том 1

Володин Григорий
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 1

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Сумеречный Стрелок 10

Карелин Сергей Витальевич
10. Сумеречный стрелок
Фантастика:
рпг
аниме
фэнтези
5.00
рейтинг книги
Сумеречный Стрелок 10

Законы Рода. Том 7

Flow Ascold
7. Граф Берестьев
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Законы Рода. Том 7

Боярышня Дуняша 2

Меллер Юлия Викторовна
2. Боярышня
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боярышня Дуняша 2

Пятнадцать ножевых 3

Вязовский Алексей
3. 15 ножевых
Фантастика:
попаданцы
альтернативная история
7.71
рейтинг книги
Пятнадцать ножевых 3

Секретарша генерального

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
8.46
рейтинг книги
Секретарша генерального

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Облачный полк

Эдуард Веркин
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Облачный полк

Бастард Императора. Том 6

Орлов Андрей Юрьевич
6. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 6

Ученичество. Книга 2

Понарошку Евгений
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ученичество. Книга 2