Как можно преобразовать int
в enum
в C #?
Я пишу код на C и C ++ почти двадцать лет, но есть один аспект этих языков, который я никогда не понимал. Я, очевидно, использовал регулярные приведения я. е.
MyClass *m = (MyClass *)ptr;
повсюду, но, кажется, есть два других
...У меня есть класс с именем Questions
(множественное число). В этом классе есть перечисление Question
(единственное число), которое выглядит следующим образом.
public enum Question
{
Role = 2,
ProjectFunding = 3,
TotalEmployee = 4,
NumberOfServers = 5,
TopBusinessConcern = 6
... Рассмотрим следующий код:
void Handler(object o, EventArgs e)
{
// I swear o is a string
string s = (string)o; // 1
//-OR-
string s = o as string; // 2
// -OR-
string s = o.ToString(); // 3
}
... Я слышал, что функция static_cast
должна быть предпочтительнее C-стиля или простого приведения в стиле функции. Это правда? Зачем?
Меня немного смущает применимость reinterpret_cast
против static_cast
. Из того, что я прочитал, общие правила заключаются в использовании статического приведения, когда типы могут интерпретироваться во время компиляции, отсюда и слово static
. Это приведение, которое компилятор C ++ использует внутренне
При программировании интерфейсов я обнаружил, что я часто использую приведение типов или преобразование типов объектов.
Есть ли разница между этими двумя методами преобразования? Если да, то есть ли разница в стоимости или как это повлияет на мою программу?
public interface
... Каков наиболее приемлемый способ преобразования boolean
в int
в Java?
Как я могу преобразовать String
, например, "12.34"
, в double
в Java?
С помощью PHP, какой самый быстрый способ преобразовать строку вроде этой: "123"
в целое число?
Почему этот конкретный метод самый быстрый? Что произойдет, если он получит неожиданный ввод, такой как "hello"
или массив?
Например, допустим, у вас есть два класса:
public class TestA {}
public class TestB extends TestA{}
У меня есть метод, который возвращает List
, и я хотел бы привести все объекты в этом списке к TestB
, чтобы я получил
Для этого кодового блока:
int num = 5;
int denom = 7;
double d = num / denom;
значение d
0.0
. Можно заставить работать на кастинг:
double d = ((double) num) / denom;
Но есть ли другой способ получить
...Я хотел бы проверить, есть ли объект (например, г. someObject
) присваивается (приведение к типу) переменной другого типа (например, г. SpecifiedType
). На Java я могу написать:
someObject instanceof SpecifiedType
С этим связан вопрос о том, равен ли тип времени
...Я знаю, что можно приводить список элементов из одного типа в другой (учитывая, что у вашего объекта есть публичный статический явный операторный метод для выполнения приведения) по одному следующим образом:
List ListOfY = new List();
foreach(X x in ListOfX)
ListOfY.Add((Y)x);
... Я знаю, что вы можете преобразовать число String
в число с read
:
Prelude> read "3" :: Int
3
Prelude> read "3" :: Double
3.0
Но как получить представление String
значения Int
?
В Java разрешено обновление, однако при понижении скорости возникает ошибка компиляции.
Ошибка компиляции может быть удалена путем добавления приведения, но в любом случае она прервется во время выполнения.
В этом случае, почему Java допускает даункастинг, если он не может быть
...Все ли они равны? При каких обстоятельствах я должен выбирать друг друга?
вар. ToString ()
CStr (var)
CType (var, String)
DirectCast (var, String)
РЕДАКТИРОВАТЬ: Предложение от NotMyself …
У меня есть метод Hibernate, который возвращает мне BigDecimal. У меня есть другой метод API, которому нужно передать это число, но он принимает Integer в качестве параметра. Я не могу изменить типы возврата или типы переменных обоих методов.
Теперь, как
......Возможный дубликат:
Приведение к использованию ключевого слова ‘as в CLRНедавно я узнал о другом способе кастования. Вместо использования
SomeClass someObject = (SomeClass) obj;
можно использовать этот синтаксис:
SomeClass someObject = obj as SomeClass;
, который, по-видимому, возвращает ноль, если