Как объявить, что фиксированная длина представляет в виде строки в VB.NET?

Как делают я Объявляю строку как это:

Dim strBuff As String * 256

в VB.NET?

13
задан Mark Hurd 1 November 2014 в 04:34
поделиться

4 ответа

Это зависит от того, для чего вы собираетесь использовать строку. Если вы используете его для ввода и вывода файлов, вы можете использовать массив байтов, чтобы избежать проблем с кодировкой. В vb.net строка из 256 символов может быть больше 256 байт.

Dim strBuff(256) as byte

Вы можете использовать кодировку для передачи байтов в строку

Dim s As String
Dim b(256) As Byte
Dim enc As New System.Text.UTF8Encoding
...
s = enc.GetString(b)

Вы можете назначить 256 однобайтовых символов строке, если вам нужно использовать ее для получения данных, но передача параметров в vb.net может отличаться от vb6.

s = New String(" ", 256)

Также вы можете использовать vbFixedString. Однако я не совсем уверен, что это делает, потому что, когда вы присваиваете строку другой длины переменной, объявленной таким образом, она становится новой длиной.

<VBFixedString(6)> Public s As String
s = "1234567890" ' len(s) is now 10
6
ответ дан 1 December 2019 в 23:14
поделиться

Здесь есть код, который создает поле со списком из массива последовательностей, все, что вам нужно сделать, это преобразовать список в массив. String petStrings =...;

//Create the combo box, select item at index 4.
//Indices start at 0, so 4 specifies the pig.
JComboBox petList = new JComboBox(petStrings.toArray());
-121--3950542-

Использовать регекс.

$string = "My dog has fleas";
if (preg_match("/\S+ (\S+) has fleas/", $string, $matches))
  echo ($matches[1]);
else
  echo ("Not found");

\S означает любой не-пробельный символ, + означает один или несколько предыдущих символов, поэтому \S + означает совпадение одного или нескольких не-пробельных символов. (...) означает захват содержимого подменю и помещение в массив $ matchs .

-121--3832342-

Пробовали ли вы

Dim strBuff as String

См. также Работа со последовательностями в .NET с помощью VB.NET

В этом руководстве объясняется, как представлять последовательности в .NET с помощью VB.NET и как работать с ними с справка по классам библиотеки классов .NET.

-1
ответ дан 1 December 2019 в 23:14
поделиться

Используйте атрибут VBFixedString. См. Информацию MSDN здесь

<VBFixedString(256)>Dim strBuff As String
7
ответ дан 1 December 2019 в 23:14
поделиться

Чтобы написать этот код на VB 6:

Dim strBuff As String * 256

В VB.Net вы можете использовать что-то вроде:

Dim strBuff(256) As Char
3
ответ дан 1 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: