Раздел 2.4: Сравнение строк Перевод
Несмотря на то, что String является ссылочным типом, оператор == сравнивает не ссылки, а строковые значения.
Как вы, наверное, знаете, строка — это просто массив символов. Но если вы думаете, что проверка и сравнение равенства строк
производится посимвольно, то вы ошибаетесь. Эта операция зависит от культуры (см. замечания ниже): некоторые
некоторые последовательности символов могут считаться равными в зависимости от культуры.
Подумайте дважды, прежде чем замыкать проверку равенства, сравнивая свойства Length двух строк!
Используйте перегрузки метода String.Equals, которые принимают дополнительное значение перечисления StringComparison, если вам нужно изменить поведение по умолчанию.
Раздел 2.3: Преобразование строки в/из другой кодировки Перевод
Строки .NET содержат System.Char (кодовые единицы UTF-16). Если вы хотите сохранить (или управлять) текстом в другой кодировке
вам придется работать с массивом System.Byte.
Преобразования выполняются классами, производными от System.Text.Encoder и System.Text.Decoder, которые,
вместе могут преобразовывать в/из другой кодировки (из массива байтов X в кодировке байт[] в кодировку UTF-16
System.String и наоборот).
Поскольку кодировщик/декодировщик обычно работают очень близко…
Раздел 2.2: Подсчет отдельных символов Перевод
Если вам нужно подсчитать отдельные символы, то, по причинам, описанным в разделе Remarks, вы не можете просто использовать свойство
свойство Length, потому что это длина массива System.Char, которые являются не символами, а кодовыми единицами (не
кодовые точки Юникода или графемы). Если, например, просто написать text.Distinct().Count(), то вы получите
неправильный результат, правильный код:
int distinctCharactersCount = text.EnumerateCharacters().Count();
Еще один шаг -…
Глава 2: Строки Перевод
Раздел 2.1: Подсчет символов
Если вам нужно подсчитать символы, то, по причинам, описанным в разделе Remarks, вы не можете просто использовать свойство Length
потому что это длина массива System.Char, которые являются не символами, а кодовыми единицами (не Unicode
не кодовые точки и не графемы). Правильный код выглядит следующим образом:
int length = text.EnumerateCharacters().Count();
Небольшая оптимизация может переписать метод расширения EnumerateCharacters()…
Вы еще не зарегистрировались? Войти
Раздел 1.9: Hello World в Oxygene Перевод
namespace HelloWorld;
interface
type
App = class
public
class method Main(args: array of String);
end;
implementation
class method App.Main(args: array of String);
begin
Console.WriteLine('Hello World');
end;
end.
Раздел 1.8: Hello World на Python (IronPython) Перевод
print "Hello World"
import clr
from System import Console
Console.WriteLine("Hello World")
Раздел 1.1: Hello World на C# Перевод
using System;
class Program
{
// Функция Main() является первой функцией, выполняемой в программе
static void Main()
{
// Записываем строку «Hello World» в стандартный вывод
Console.WriteLine("Hello World");
}
}
У Console.WriteLine есть несколько перегрузок. В данном случае в качестве параметра выступает строка «Hello World», и во время выполнения будет выведена
«Hello World» в стандартный поток out во время выполнения. Другие перегрузки могут вызывать .ToString из аргумент перед записью в…
Раздел 1.7: Hello World в Nemerle Перевод
System.Console.WriteLine("Hello World");
Раздел 1.6: Hello World в PowerShell Перевод
Write-Host "Hello World"
Введение в PowerShell
Раздел 1.5: Hello World в IL Перевод
.class public auto ansi beforefieldinit Program
extends [mscorlib]System.Object
{
.method public hidebysig static void Main() cil managed
{
.maxstack 8
IL_0000: nop
IL_0001: ldstr "Hello World"
IL_0006: call void [mscorlib]System.Console::WriteLine(string)
IL_000b: nop
IL_000c: ret
}
GoalKicker.com – .NET Framework Notes for Professionals 4
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
}
}
Раздел 1.4: Hello World в C++/CLI Перевод
using namespace System;
int main(array^ args)
{
Console::WriteLine("Hello World");
}
Раздел 1.3: Hello World в Visual Basic .NET Перевод
Imports System
Module Program
Public Sub Main()
Console.WriteLine("Hello World")
End Sub
End Module
Демо в действии на .NET Fiddle
Введение в Visual Basic .NET
Раздел 1.2: Hello World на языке F# Перевод
open System
[]
let main argv =
printfn "Hello World"
0
Демо на сайте .NET Fiddle
Глава 1: Начало работы с .NET Framework. Перевод книги ".NET Фреймворк заметки для профессионалов" / ".NET Framework Notes for Professionals" Перевод
Содержание
.NET
Версия Дата выпуска
1.0 2002−02−13
1.1 2003−04−24
2.0 2005−11−07
3.0 2006−11−06
3.5 2007−11−19
3.5 SP1 2008−08−11
4.0 2010−04−12
4.5 2012−08−15
4.5.1 2013−10−17
4.5.2 2014−05−05
4.6 2015−07−20
4.6.1 2015−11−17
4.6.2 2016−08−02
4.7 2017−04−05
4.7.1 2017−10−17
Compact Framework
Версия Дата выпуска
1.0 2000−01−01
2.0 2005−10−01
3.5 2007−11−19
3.7 2009−01−01
3.9 2013−06−01
Micro Framework
Версия Дата выхода
4.2 2011−10−04
4.3 2012−12−04
4.4 2015−10−20