Loading...
antonradev avatar antonradev 43 Точки

Правилен ли е този type casting?

Правилен ли е този тайп кастинг (според условието на задача 6 от Второ домашно)?

string greeting = "Hello";

string toWhom = "World";

object combinedStings = greeting + " " + toWhom;

object resultObject = combinedStings;

Работи и принтира каквото е нужно, но не съм сигурен дали това се изисква

Благодаря и поздрави?

Тагове:
1
Programming Basics
RoYaL avatar RoYaL Trainer 6849 Точки

Мисля, че се иска стринг кастинг.

Т.е.

object combinedStings = greeting + " " + toWhom;

String helloWorld = combinedStrings.ToString();

Защото до колкото разбирам пише:

Declare a third string variable and initialize it with the value of the object variable (you should perform type casting).

Трета променлива от тип СТРИНГ (вече имаш две Хелоу и Уърлд). Т.е. result-а ти не трябва да е object (в твоя случая нямаш каст, а просто присвояваш един обект към друг)

1
antonradev avatar antonradev 43 Точки
Мерси, RoYaL
0
antonradev avatar antonradev 43 Точки

Правя справка тук:

http://msdn.microsoft.com/en-us/library/ms173105.aspx

където се споменава, че първите примери са type casting, а чак по-надолу се появяват toString() методи, които са в секция "Type Conversion Exceptions at Run Time". Обърквам се..

0
RoYaL avatar RoYaL Trainer 6849 Точки
Съвсем вероятно е да са имали предвид и друг тип каст "(string) resultObject;". Но ако отвориш гугъл и напишеш "Casting object to strnig C#" вторият резултат (и първи от официалния сайт на майкрософт) е този http://msdn.microsoft.com/en-us/library/system.object.tostring%28v=vs.110%29.aspx
0
mantodeus avatar mantodeus 17 Точки

Мисля че трябва да стане така, макар че има и метод ToString() ама е представен доста по-нататък, а кастването, което видях вчера беше от тоя тип :

string resultObject = (string) combinedStings;

1
Fleshian avatar Fleshian 379 Точки

Здравей колега.
Ако забелязваш в условието на 6-та задача пише:
// Declare a third string variable and initialize it with the value of the object variable (you should perform type casting).
Това което си направил е че накрая си създал нов object а е нужно да създадеш string и в него да използваш explicit type casting, което ще рече че превърщаш някакъв тип променлива от "по-голям" тип в по-малък. По лесно ще е да ти дам пример за да го разбереш.

int intNumber = 16;
short shortNumber = intNumber;

// Тук ще ти даде грешка че не можеш да слагаш променлива int в промелнива short тъй като short е 16-битова а int 32  битова и в случая трябва да използваш explicit castin по начина показан отдолу.

short shortNumber = (short)intNumber

Сега за де не ти давам отговора дирекно, създай си нова променлива от тип "string" и в нея служи твоята променлива, combinedStings заедно с тайп-кастинга и задачта ще се получи :). 
Поздрави Деян :)

 
3
Roberto avatar Roberto 56 Точки

Всъщност не е нужно да се ползва ToString,не се напрягайте толкова много,най-лесното решение на задачата е следното:
            string a = "Hello"; // Първа string
            string b = "World"; //  втора
            object d = (" ");  // правиш един object,за място
            string c = (a + d + b); // последната string в която декларираш останалите 3
            Console.WriteLine(c); // и си готов

Това е моето решение,мисля,че е най-бързият и лесен вариянт на задачата.

ПП: Наименувал съм тук променливите a,d,c  защото е най-лесно да го разбереш при пръв поглед,в програмата ти недей да ги наименуваш така,не е най-удачният вариянт.

2
slav_02bg avatar slav_02bg 11 Точки

Здравей,

Аз съм го направил по този начин:

string string1 = "Hello";
string string2 = "World";
object concatenatedString = string1 + " " + string2;
string newString = (string)concatenatedString;
Console.WriteLine(newString);

4
Swappp avatar Swappp 0 Точки

Програмата работи, но съм останал с впечатлението, че с type object  не могат да се правят събирания или аз се бъркам нещо и тъй като съм наченаещ, някой ако може да ми разясни дали това е вярно или не ще съм му много благодарен.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.