Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Переменная Добавлено: 16.05.09 18:50  

Автор вопроса:  maza_____ | Web-сайт: vkontakte.ru/id25563295 добавляйтесь в друзья)) | ICQ: 9968842 
Как можно и можно ли вообще в VB.NET обьявить переменную в которую например можно ввести только 5 символов, как в delphi:
T:string[5];

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #1
Добавлено: 16.05.09 19:09
Создай класс KostratString ( :) ), наследованный от String, который позволит вводить только пять символов.

Ответить

Номер ответа: 2
Автор ответа:
 maza_____



ICQ: 9968842 

Вопросов: 40
Ответов: 337
 Web-сайт: vkontakte.ru/id25563295 добавляйтесь в друзья))
 Профиль | | #2
Добавлено: 16.05.09 19:17
а на C# тоже нельзя?

Ответить

Номер ответа: 3
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #3
Добавлено: 16.05.09 20:33
оООООпять переменная, такс начнем по плану еще 198 ответов

Ответить

Номер ответа: 4
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #4
Добавлено: 16.05.09 20:55
http://www.google.ru/search?hl=ru&rlz=1C1CHMH_ruRU308RU308&newwindow=1&q=site:vbnet.ru+Вопрос:+Переменная&btnG=Поиск&lr=&aq=f&oq=

Ответить

Номер ответа: 5
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #5
Добавлено: 16.05.09 20:55
За одно это (просто весело :)) :
http://www.google.ru/search?hl=ru&rlz=1C1CHMH_ruRU308RU308&newwindow=1&q=site:vbnet.ru+Жопа&btnG=Поиск&lr=&aq=f&oq=site:vbnet.ru+Жопа

Ответить

Номер ответа: 6
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #6 Добавлено: 17.05.09 14:18
В .NET нет строк фиксированной длины.
С помощью атрибутов можно указать как будет выполняться маршалинг строк

То есть если ты хочешь передать строку за пределы управляемого кода (в COM или API-функцию), то можно указать что она является строкой фиксированной длинны (атрибут VBFixedString, MarshalAs)
Если же ты хочешь объявить строку, в которую нельзя будет вписать не более определенного количества символов, то у тебя это не получится сделать.

А что ты хочешь сделать?

Ответить

Номер ответа: 7
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #7 Добавлено: 17.05.09 14:18
VBD пишет:
Создай класс KostratString ( ), наследованный от String, который позволит вводить только пять символов.

Г-н Москвин, покажите нам как создать класс, унаследованный от String!

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 17.05.09 14:40
Вот как вариант структура-обертка которая теряет длинну строк и при этом не требует явной конвертации между String и FixedString

  1.     Structure FixedString
  2.         Private innerString As String
  3.  
  4.         Private Const length As Integer = 10
  5.  
  6.         Private Sub New(ByVal source As String)
  7.             If source.Length > length Then
  8.                 innerString = source.Substring(0, length)
  9.             Else
  10.                 innerString = source + New String(ControlChars.NullChar, length - source.Length)
  11.             End If
  12.         End Sub
  13.  
  14.         Public Overloads Shared Widening Operator CType(ByVal source As String) As FixedString
  15.             Return New FixedString(source)
  16.         End Operator
  17.  
  18.         Public Overloads Shared Widening Operator CType(ByVal source As FixedString) As String
  19.             Return source.innerString
  20.         End Operator
  21.  
  22.         Public Overrides Function ToString() As String
  23.             Return innerString
  24.         End Function
  25.     End Structure
  26.  
  27.         Dim FixedString As FixedString = "123456789123456789"
  28.         Dim OtherString As String = FixedString



По жалению можно продублировать все методы которые есть в классе String, хотя большого смысла в этом не вижу, как собственно и в этой структуре тоже.

Ответить

Номер ответа: 9
Автор ответа:
 BG(Алексей)



Вопросов: 26
Ответов: 295
 Профиль | | #9 Добавлено: 17.05.09 22:06
А что, СтрингБилдер уже не катит? Или там не получится?

Ответить

Номер ответа: 10
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #10 Добавлено: 17.05.09 22:30
Смотря для чего :)

StringBuilder это не строка фиксированной длины, скорее небольшая надстройка над String

Ответить

Номер ответа: 11
Автор ответа:
 _Serega



Вопросов: 1
Ответов: 43
 Профиль | | #11 Добавлено: 19.05.09 08:51
Может быть просто массив Char такой?))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам