本文整理汇总了C#中System.Char.GetUpperBound方法的典型用法代码示例。如果您正苦于以下问题:C# Char.GetUpperBound方法的具体用法?C# Char.GetUpperBound怎么用?C# Char.GetUpperBound使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Char
的用法示例。
在下文中一共展示了Char.GetUpperBound方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HEXToInt16
/// <summary>
/// Преобразование четырех символов "HEX-представления" в int16
/// </summary>
/// <param name="value">Возвращаемое значение</param>
/// <param name="source">Исходный массив "HEX-данных"</param>
/// <param name="startOutPos">Стартовая позиция во входном массиве для преобразования</param>
private bool HEXToInt16(ref int value, Char[] source, int startInPos)
{
// Если указываем такую позицию для вывода текстового представления,
// которая выходит за допустимые пределы целевого массива, сообщаем
// об этом
if ((startInPos + 3) > source.GetUpperBound(0))
{
return false;
}
// Изначально обнуляем возвращаемое значение
value = 0;
// Преобразуем четыре текстовых представления "HEX" в данные переменной "int"
for (int i = startInPos, shift = 12; i < (startInPos + 4); i++, shift -= 4)
{
// Изначально полагаем, что символ не найден в словаре "_HEX"
bool letterSearchRes = false;
// Индексный эквивалент символа в словаре
int letterIdx = 0;
// Пробегаемся по всему словарю "_HEX"
for (int j = 0; j < 16; j++)
{
// Если текущий символ совпал с имеющимся в словаре
if (source[i] == _HEX[j])
{
letterSearchRes = true;
letterIdx = j;
break;
}
}
// Если хотя бы один символ не был найдерн в словаре,
// сообщаем что произошла ошибка декодирования параметров
if (letterSearchRes != true)
{
return false;
}
// Если дошли до данного участка кода, можно преобразовывать
// текущий индекс к требуемому разряду целевой переменной int16
value += (letterIdx << shift);
}
return true;
}
示例2: TestGetUpperBound
public void TestGetUpperBound() {
{
bool errorThrown = false;
try {
char[] c = {'a', 'b', 'c'};
c.GetUpperBound(-1);
} catch (IndexOutOfRangeException) {
errorThrown = true;
}
Assert("#H61", errorThrown);
}
{
bool errorThrown = false;
try {
char[] c = {'a', 'b', 'c'};
c.GetUpperBound(1);
} catch (IndexOutOfRangeException) {
errorThrown = true;
}
Assert("#H62", errorThrown);
}
char[] c1 = new Char[5];
AssertEquals("#H63",
4, c1.GetUpperBound(0));
char[,] c2 = new Char[4,6];
AssertEquals("#H64",
3, c2.GetUpperBound(0));
AssertEquals("#H65",
5, c2.GetUpperBound(1));
}
示例3: Int16ToHEX
/// <summary>
/// Преобразование значения int в четыре символа "HEX-представления"
/// </summary>
/// <param name="value">Исходное значение</param>
/// <param name="target">Целевой массив для вывода</param>
/// <param name="startOutPos">Стартовая позиция в массиве для преобразования</param>
private bool Int16ToHEX(int value, ref Char[] target, int startOutPos)
{
// Если указываем такую позицию для вывода текстового представления,
// которая выходит за допустимые пределы целевого массива, сообщаем
// об этом
if ((startOutPos + 3) > target.GetUpperBound(0))
{
return false;
}
// Преобразуем данные переменной в четыре текстовых представления "HEX"
target[startOutPos + 3] = _HEX[((value & 0x0000000F) >> 0)];
target[startOutPos + 2] = _HEX[((value & 0x000000F0) >> 4)];
target[startOutPos + 1] = _HEX[((value & 0x00000F00) >> 8)];
target[startOutPos + 0] = _HEX[((value & 0x0000F000) >> 12)];
return true;
}