Loading...
Pazzo avatar Pazzo 158 Точки

?Пробле в Judge при TryParse inline variable declaration? (Programming Fundamentals - Dictionaries - Exercises - 02. Dict-Ref)

Здравейте,

при решаването на ТАЗИ задача попаднах на странна ситуация в Judge и се чудя дали се дължи на някакъв проблем при него или при мен :)

В решението си използвам TryParse и като написах следното

                int currentValue = 0;
                bool successfullyParsed = int.TryParse(rightStringValue, out currentValue);

самото Visual Studio ми предложи да съкратя кода, като вкарам декларирането на изходната променлива във самия TryParse:

                bool successfullyParsed = int.TryParse(rightStringValue, out int currentValue);


Направих го, написах задачата и при тестването ми гръмна - даде ми Compile time error със следните детайли:

Compiled file is missing. Compiler output: C:\Users\Administrator\AppData\Local\Temp\tmp17C7.tmp(17,78): error CS1525: Invalid expression term 'int'
C:\Users\Administrator\AppData\Local\Temp\tmp17C7.tmp(17,82): error CS1003: Syntax error, ',' expected

а на моя компютър всичко си се компилираше и вървеше нормално, даже и примерните output-и ми се получаваха ;)
Видях че нещо в някой от int-овете го притеснява и един от трите инт-а които използвах в решението беше в TryParse. Реших да го върна по стария начин и всичко стана! Това беше единственото, което промених от Compile time error до 100/100.

Затова реших и да попитам тук - аз ли по грешен начин съм разбрал ситуацията, или има някакъв проблем с Judge и TryParse и занапред трябва да си знаем и да избягваме inline declaration в подобни случаи?

0
Programming Fundamentals 23/05/2017 16:46:36
krasi1105 avatar krasi1105 380 Точки
Best Answer

Джъджа все още работи със C# 6, синтаксиса който използваш е от C# 7 и не го разпознава.

0
alisa_terzieva avatar alisa_terzieva 121 Точки

Методът TryParse приема два аргумента - променлива, от тип string, чиято стойност се опитва да преобразува и променлива, от тип int, в която записва получения резултат, в случай, че преобразуването е успешно. Иначе казано, int указва типа на променливата, която очаква да му подадеш - не трябва да го пишеш в метода.

1
Pazzo avatar Pazzo 158 Точки

@ alisa_terzieva Да, знам, така е както казваш - аз това и направих в началото, но после последвах идеята на Visual Studio за съкращаване на кода.

@ krasi1105 И аз подозирах нещо такова. Предполагам, че скоро можем да очакваме ъпдейт ;)

Благодаря! :)

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