Loading...
TanyaZheleva avatar TanyaZheleva 354 Точки

[Programming Fundamentals - Extended] Dictionaries - Exercises -> 06. Filter Base

Любопитно ми е защо, когато използвам int.TryParse(tokens[1], out int age), съответно и double.TryParse(tokens[1], out double salary) ми дава Compile time error. Но когато ги запиша като:

int age = 0; // double salary = 0;
bool isAge = int.TryParse(tokens[1], out age); // bool isSalary = double.TryParse(tokens[1], out salary);

Минават, в джъдж дава 100т. Във VS първият вариант не гърми, а дава вярно всички резултати...

Compile time error -> http://pastebin.com/5ytav0Mi

100/100 -> http://pastebin.com/QEAwUk5y

 

 

Тагове:
0
Fundamentals Module
simonradev avatar simonradev 67 Точки

Здравей, поставих във вижуал студиото кода, който казваш, че ти е проблемен, но работи добре в ИДЕ-то. Не знам при теб дали наистина работи, както твърдиш ти, но при мен изобщо не ми дава да го стартирам, като даже ми подчертава типа данни при следния запис -> double.TryParse(tokens[1], out double salary) . Имам предвид, че го подчертава вътре в самите скоби и при годините и при заплатата. Проблема според мен е, че изобщо нямаш право да декларираш променлива там вътре, а трябва да имаш предварително дефинирана такава, за да работи самия трайпарс коректно. Метода се опитва да парсне стринга, който му подаваш, след което връща като резултат булева стойност (true ако е успешно парсването и съответно false ако не е) и ако парсването е успешно записва стойността в подадената като аргумент променлива, но просто такава променлива трябва да съществува преди това.

1
12/03/2017 23:47:04
TanyaZheleva avatar TanyaZheleva 354 Точки

Нищо не ми подчертава, нито ми дава грешки. Търсих из нета и мисля, че проблемът е, че съм с VS2017. Точно то ми подсказа да съкратя кода по по този начин. Някой друг с тази версия да каже... Все пак благодаря за отговора!

1
simonradev avatar simonradev 67 Точки

C#7.0 си има доста подобрения доколкото знам и според мен това, че са съкратили кода по този начин и работи е доста готино. След като нещата стоят по този начин съм почти сигурен, че знам откъде идва проблемът. Ти си пишеш на новото студио и всичко си е окей, защото ползваш по-новата версия, но джъдж едва ли е настроен, към този момент, да работи и да разчита кодовете на C#7.0. Ти му пращаш нещо, от което разбира новия си шарп, но джъдж си знае неговото. Надявам се да съм помогнал и късмет!

 

1
13/03/2017 18:16:09
Teodor92 avatar Teodor92 569 Точки

Laguage level-a (версията на C#) e по-ниска в Judge-a.

VS2017 по подразбиране работи с C#7, а Judge системата работи с C#6, от къде идва и проблема с out variable-ите. Най-вероятно ще видигнат версията на C#7 в скоро време, а до тогава, тези неща няма да работят:

https://docs.microsoft.com/en-us/dotnet/articles/csharp/csharp-7

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