Страница: 1 |
Страница: 1 |
Вопрос: ASCII на C#
Добавлено: 05.03.07 15:15
Автор вопроса: ANDREY Z5Z | Web-сайт:
Подскажите где взять в C# аналогичную функцию Asc(x) как в VB? Видел что-то там вроде ASCIIEncoding но все равно не пойму как же получить номер символа в таблице?
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Viper
ICQ: 249094859
Вопросов: 0
Ответов: 310
Профиль | | #1
Добавлено: 05.03.07 16:02
при помощи преобразования типов например... или можно подключить пространство имен VisualBasic и применить все ту же Asc
Номер ответа: 2
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #2
Добавлено: 05.03.07 21:03
Преобразования типов для Asc? Можно хоть строчку кода для примера?
Номер ответа: 3
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #3
Добавлено: 05.03.07 21:23
' The following line of code sets myInt to 65.
codeInt = Asc("A"
' The following line of code sets myInt to 97.
codeInt = Asc("a"
' The following line of code sets myInt to 65.
codeInt = Asc("Apple"
Я вот не пойму, MSDN из религиозных соображений не используем?
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 05.03.07 23:19
Viper
И как ты собираешься String привести к типу Int32? Да еще так, чтобы ASCII получилось?
Номер ответа: 5
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #5
Добавлено: 06.03.07 01:09
Хм... В общем-то я разобрался так или иначе - подключил в reference Microsoft.VisulBasic и использовал его функцию Asc (мне даже полезно было - чуть посидел зато теперь совмещать языки научился)
Vito: а причем тут VB? я же про C# Asc спрашивал...
Номер ответа: 6
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #6
Добавлено: 06.03.07 01:29
Мда...
To Viper
To EROS
Видно вот что такое преобразование типов:
int m;
m = (int)('T');
m - будет числом соответствующим Asc коду...
Номер ответа: 7
Автор ответа:
Dark
Вопросов: 4
Ответов: 41
Профиль | | #7
Добавлено: 06.03.07 04:12
Без подключения Microsoft.VisulBasic:
public static string Chr(int asc)
{
byte[] a;
a = new byte[1];
a[0] = (byte)asc;
return Encoding.Default.GetString;
}
public static int Asc(string ch)
{
byte[] a;
a = Encoding.Default.GetBytes(ch);
return (int)a[0];
}
Вообще если пишешь на C# не стоит использовать Microsoft.VisulBasic. Любую функцию из нее можно проэмулировать. Чаще средства C# даже более удобные: например, если надо получить не код 1 символ, а коды всей строки.
Номер ответа: 8
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #8
Добавлено: 06.03.07 08:43
ANDREY Z5Z
Извини, не внимательно прочитал вопрос.
Но тогда я не понял в чем вопрос? В C# есть аналогичная функция????
Собственно, все функции представленные в классах NET, доступны для любого языка. Синтаксис вызова может отличаться.
Номер ответа: 9
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #9
Добавлено: 06.03.07 13:59
Vito:
Ага Все так как говоришь. Спасибо я уж так и сделал.
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 06.03.07 19:43
m = (int)('T');
m - будет числом соответствующим Asc коду...
И эта конструкция работает????
Я в курсе, что означает приведение к типу.., но аналог для VB вываливает InvalidCastExceptionПриведение строки "A" к типу 'Integer' является недопустимым.
Номер ответа: 11
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #11
Добавлено: 06.03.07 20:37
Еще бы не работала))
Впрочим с сведению слушателей оказалось что Asc мне нужна... Целый день потерял пока причину нашел! Подошел пример Dark-а В его конструкции