Он относится к текущему экземпляру определенного объекта, поэтому вы можете написать что-то вроде
public Object getMe() {
return this;
}
. Обычный прецедент this
- это предотвращение затенения. Возьмем следующий пример:
public class Person {
private final String name;
public Person(String name) {
// how would we initialize the field using parameter?
// we can't do: name = name;
}
}
В приведенном выше примере мы хотим назначить член поля, используя значение параметра. Поскольку они имеют одно и то же имя, нам нужен способ различать поле и параметр. this
позволяет нам обращаться к членам этого экземпляра, включая поле.
public class Person {
private final String name;
public Person(String name) {
this.name = name;
}
}
В c# можно использовать ключевое слово по умолчанию для определения значений по умолчанию.
, Например:
default(bool) default(int) default(int?)
Это может быть найдено в MSDN:
Visual Basic.NET определяет следующие типы примитивов:
интегральное значение вводит Байт (1-байтовое целое число без знака), Короткий (2-байтовое целое число со знаком), Целое число (4-байтовое целое число со знаком), и Long (8-байтовое целое число со знаком). Эти типы отображаются на Систему. Байт, Система. Int16, Система. Int32 и Система. Int64, соответственно. значение по умолчанию целочисленного типа эквивалентно литеральному 0.
значение с плавающей точкой вводит Единственный (4-байтовая плавающая точка) и Дважды (8-байтовая плавающая точка). Эти типы отображаются на Систему. Единственный и Система. Дважды, соответственно. значение по умолчанию типа с плавающей точкой эквивалентно литеральному 0.
Десятичный тип (16-байтовое десятичное значение), который отображается на Систему. Десятичное число. Значение по умолчанию десятичного числа эквивалентно литералу 0D.
тип булева значения, который представляет значение истинности, обычно результат реляционной или логической операции. Литерал имеет систему типов. Булевская переменная. значение по умолчанию булева типа эквивалентно литеральной Лжи.
тип значения Даты, который представляет дату и/или время и отображается на Систему. DateTime. значение по умолчанию типа Даты эквивалентно литералу # 01.01.01 0:00:00 #.
Символьный тип значения, который представляет единственный символ Unicode и отображается на Систему. Символ. значение по умолчанию Символьного типа эквивалентно константному выражению ChrW (0).
Строковый ссылочный тип, который представляет последовательность символов Unicode и отображается на Систему. Строка. значение по умолчанию Строкового типа является нулевой ссылкой.
Вы имеете в виду (метод) переменную? или поле (на экземпляре или типе)?
Для переменной уровня метода (в C#, по крайней мере) это не важно, начиная с "определенное присвоение" означает, что Вы должны давать ему значение, прежде чем можно будет считать его.
Полевое значение по умолчанию к поразрядному нулевому состоянию:
Nullable<T>
(int?
и т.д.), который означает пустой указатель Зависит от типа переменной. Если тип может быть пустым тогда, это - значение по умолчанию, будет пустым. Типы Nullable будут все запускать пустой указатель.
можно установить использование начального значения:
строка s1 = "тест";
Тусклый s1 Как Строка = "тест"
В спецификации языка C # указано, что для типов значений значение по умолчанию совпадает со значением, присвоенным конструктором по умолчанию, а для ссылочных типов оно имеет значение null:
Значит, значения конструктора по умолчанию для типов значений следующие:
Для всех простых типов значение по умолчанию значение - это значение, производимое битом шаблон всех нулей:
Для sbyte, byte, short, ushort, int, uint, long и ulong значение по умолчанию - 0.
Для char значение по умолчанию - '\ x0000'. Для float значение по умолчанию
значение 0,0f.Для double значение по умолчанию: 0,0d. Для десятичного числа значение по умолчанию - 0,0 м. Для bool значение по умолчанию - false.
Для enum-typeE значение по умолчанию - 0.
Для типа struct значение по умолчанию - это значение, созданное установка всех полей типа значения на их значение по умолчанию и все поля ссылочного типа на null.
http://msdn.microsoft.com/en-us/library/aa691142 (v = VS.71) .aspx
Строка не является типом значения.