Я работал над небольшим проектом на C # (на самом деле я переехал на несколько недель в .Net), и я столкнулся со следующей ситуацией,
str = System.Convert.ToString(
(sheetRange.Cells[rcnt, ccnt] as Excel.Range).Value2);
В приведенном выше коде я пытался читать из листа Excel на строку. Сначала я попытался сделать следующее:
str = (string) ((sheetRange.Cells[rcnt, ccnt] as Excel.Range).Value2);
В результате возникла ошибка времени выполнения: невозможно преобразовать объект типа 'System.Double' в тип 'System.String'. InValidException было обнаружено.
Я гуглил, чтобы выяснить разницу между ними, но многого не мог получить. Я как бы запутался с этим. Итак, мои вопросы следующие,
1) В чем разница между двумя, а точнее говоря, в чем разница между явным приведением типа и использованием system.convert? Это относится ко всем типам?
2) Это то же самое в Java, если это то, что эквивалентно этому?
Я обновился, чтобы показать, что именно я получаю, пока я разыгрываю его со строкой. Я получаю исключение, когда я бросаю Double в строку. Но преобразование Double в строку работает. Теперь мой вопрос - почему он не позволяет приводить двойное число к строке, а позволяет преобразовывать двойное в строку? Я надеюсь, что проясняю себя.
Прошу прощения, если это просто, и если я просмотрел некоторые основные моменты о приведении типов.
Заранее спасибо.