Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога

Шут

Смотрел я когда-то в детстве фильм "Шут". Сюжет ппростой. В класс приходит новый паренек, и начинает свое действо. То задачку нерешаемую учителю математики подкинет. Вот и сегодня коллега прислал подобную затравку http://community.livejournal.com/code_wtf/90541.html?style=mine. Итак, сделать такое элементарно. Мой исходный код

image

Несложно заметить, что работает правильно.

Три дополнительные строки и получаем результат уже совсем другой.

image

А теперь можем обвинять .Net в неправильном преобразовании строк. 

Опубліковані Friday, June 22, 2007 1:22 PM від Віктор Шатохін
Помічено як:

Коментарі

# re: Шут

Module Module1

   Public Class Int32

       Public Shared Function Parse(ByVal s As String) As Integer

           If s = "55" Then Return 5 Else Return System.Int32.Parse(s)

       End Function

   End Class

   Sub Main()

       Dim S As String = "55"

       Dim i As Integer = Int32.Parse(S)

       Console.WriteLine(i)

       Console.ReadLine()

   End Sub

End Module

Friday, June 22, 2007 5:26 AM by Brand

# re: Шут

ну это ты слишком по хакерски. все намного проще.

Friday, June 22, 2007 5:32 AM by Віктор Шатохін

# re: Шут

CultureInfo info = CultureInfo.CreateSpecificCulture("");

info.... = ..;

Thread.CurrentThread.CurrentCulture = info;

string str = "55";

int i = Int32.Parse(str);

Console.WriteLine(i);

Вот только не могу найти - что же надо менять в культуре

Friday, June 22, 2007 7:03 AM by Moristar

# re: Шут

Dim CI As System.Globalization.CultureInfo = System.Globalization.CultureInfo.CreateSpecificCulture("")

CI.NumberFormat.PositiveSign = "5" 'щасливой отладки!

System.Threading.Thread.CurrentThread.CurrentCulture = CI

Friday, June 22, 2007 7:48 AM by Brand

# re: Шут

Блин, действительно - а его я даже и не подумал попробовать.

Friday, June 22, 2007 8:00 AM by Moristar

# re: Шут

Напоминаем анекдот, про

#define TRUE FALSE //Мучайтесь, гады!

Friday, June 22, 2007 8:54 AM by kosinsky

# re: Шут

мы на ОПАМ с препода прикалывались - у нас в консоли Паскаля выполнялся C# :)

Единственный заключение к которму он пришел - "возможно он как-то этот код распознает!"

Тему можно продлить - пустить таймер который периодически произвольно будет менять локаль - во люди обрадуются :)

Friday, June 22, 2007 9:08 AM by Brand
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.