Низ: Разлика между версии

Изтрито е съдържание Добавено е съдържание
SIHalev (беседа | приноси)
Quasarsz (беседа | приноси)
Редакция без резюме
Ред 16:
=== Кодиране на символи ===
Низовите типове данни в миналото са използвали един байт за символ. Някои езици като китайски, японски и др. (познати още като CJK) се нуждаят от много повече от 256 символа. Едно от решенията на този проблем е запазването на еднобайтовото представяне на ASCII и използване на двубайтово за CJK езиците. Това довежда до проблеми със съпоставянето на низовете, загуби на дължина и др.
[[Unicode]] е опростил нещата значително в това отношение и повечето програмни езици го поддържат.
 
=== Низове в PHP ===
Ред 22:
Знаците в даден низ могат да бъдат достъпвани и изменяни чрез указване на отместване от нулата за желания знак след низа посредством квадратни скоби, например $str[42], така че бихте могли да мислите за даден низ като за масив от знаци.
 
ДфиниранеДeфиниране и инициализиране
<source lang="php">
$txt="Hello world!";
Ред 131:
</source>
Още методи в класът "string" можете да намерите [[http://www.cplusplus.com/reference/string/string/]].
== Низове в C# ==
В C# символните низове са дефинирани в класа System.String. За декларация по време на писане на код се използва служебната дума 'string'. Тъй като string е клас, той е референтен тип данни и в стека на програмата се съхранява само указателя, сочещ към поле от динамичната памет, където се съхранява реалната стойност на обекта.
===Създаване на String===
За да работим с променлива от тип string трябва първо да я създадем и инициализираме. Трябва да се има в предвид, че създаването на референтен тип само заделя част от динамичната памет със стойност '''null'''. Ако се опитаме да извикаме инстанцирания обект, ще получим грешка за достъп до липсваща стойност '''NullReferenceException'''. Има три начина за инициализиране на променливи:<br />
:'''Задаване на литерал за символен низ.''' По този начин задаваме предефинирано текстово съдържание на променливата. Използва се когато знаем стойността, която трябва да бъде съхранена.
<source lang="csharp">
string greeting = "Hello, World!";
</source>
:'''Присвояване на стойност от друг низ.''' При присвояване стойността на един низ на друг новата променлива приема референцията към същото място в динамичната памет, към което сочи първата.
<source lang="csharp">
string initial = "Some Text";
string assigned = initial;
</source>
:'''Приемане на стойност от операция, която връща .''' При присвояване стойността на един низ на друг новата променлива приема референцията към същото място в динамичната памет, към което сочи първата.
<source lang="csharp">
string initial = "Some Text";
string assigned = initial;
</source>
[[Категория:Информатика]]
[[Категория:Формални езици]]