Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Что вернет функция String()? / 4 сообщений из 4, страница 1 из 1
12.06.2014, 16:59
    #38668511
Что вернет функция String()?
Перерыл MSDN и гугл, но так и не нашел ничего про функцию String() на VB6:

Код: vbnet
1.
2.
3.
4.
5.
    Dim sDecoded As String
Dim nLen As Long
nLen  = 777
    ...
sDecoded = String((nLen \ 4) * 3, " ")



Укажите, пожалуйста, направление в туннеле к свету)
...
Рейтинг: 0 / 0
12.06.2014, 17:54
    #38668552
Что вернет функция String()?
Наконец-таки нашел что это за фича: http://kbyte.ru/ru/Programming/Guides.aspx?id=43&mode=show

В проекции на Шарп получилось (для конкретно 3 типов данных):

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
   static void Main(string[] args)
        {
            string sDecoded = StringVb(3, " ");

            Console.WriteLine(sDecoded);
            Console.ReadKey();
        }

        protected static string StringVb(int cnt, object obj)
        {
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i <= cnt; i++)
            {
                if (obj is Int32)
                {
                    sb.Append( Convert.ToChar(obj));
                }
                else if (obj is Char || obj is String)
                {
                     sb.Append(obj);
                } 
            }
            return sb.ToString();
        }
...
Рейтинг: 0 / 0
12.06.2014, 21:53
    #38668633
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что вернет функция String()?
Павел Зигмундович,

Код: c#
1.
2.
var len = 777;
var decoded = new String(' ', len / 4 * 3);
...
Рейтинг: 0 / 0
13.06.2014, 00:17
    #38668682
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что вернет функция String()?
Павел Зигмундович,

Хотя, я кажется понял, Вы пытаетесь добиться, чтобы функция принимала не только char, но и int, а также string. Признаться честно, не совсем понимаю для чего это, похоже, что Вы c# адаптируете под VB6. Тем не менее, есть такой вариант (string не примет):

Код: c#
1.
2.
var ch = 65;
var decoded = new String((char)ch, len / 4 * 3);



А если совсем как в VB6, то так:

Код: c#
1.
Func<int, object, string> StringVB = (x, y) => new String((char)(y is int ? (int)y : y.ToString().First()), x);
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Что вернет функция String()? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]