ФорумСообществоПрофессиональная деятельностьВзаимопомощь → Надо выучить С# за неделю

Надо выучить С# за неделю

  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:05, спустя 1 минуту 3 секунды

    kostyl, значит я попутал

    System.Environment.GetEnvironmentVariable("QUERY_STRING");
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:10, спустя 4 минуты 15 секунд

    ну это навено то, что надо…

    бля, охуенный полиморфизм… можно два конструктора тупо объявить с разными параметрами….
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:12, спустя 2 минуты 51 секунду


    foreach (string line in args)
    Console.Write(line + " ");



    Array.ForEach(args, Console.Write);

    Спустя 26 сек.

    бля, охуенный полиморфизм… можно два конструктора тупо объявить с разными параметрами….

    Это перегрузка
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:11, спустя 23 часа 59 минут 2 секунды

    Frozzeg, да, это оно…
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:12, спустя 8 секунд

    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:13, спустя 1 минуту 50 секунд



    foreach (string line in args)
    Console.Write(line + " ");



    Array.ForEach(args, Console.Write);

    Спустя 26 сек.

    бля, охуенный полиморфизм… можно два конструктора тупо объявить с разными параметрами….

    Это перегрузка

    полиморфизм это другое - http://msdn.microsoft.com/ru-ru/library/ms173152(VS.90).aspx
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:13, спустя 8 секунд

    Это перегрузка

    да я знаю, вернее вспомнил Delphi, там тоже такая фишка только надо добавлять в объявления overload; директиву… С этим пыхом всё забудется нахрен…
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:16, спустя 2 минуты 2 секунды

    Еще там можно как и на пхп херачить, типа

    class Some
    {
    public void SomeFunc(var x, var y = 10)
    {

    }
    }


    или вот так можно инитиалайзить объект


    SomeClass obj = new SomeClass() {Prop1 = "valu1", Prop2 = new List<String> ()};


    и тогда тебе вообще конструктор не нужен
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:18, спустя 2 минуты 20 секунд

    Frozzeg, смысл демотиватора - типа переходи на с#? почему же тёмная сторона? ))
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:18, спустя 35 секунд

    А ты перейди и узнаешь
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:20, спустя 1 минуту 55 секунд

    непривычно конечно теперь будет писать с большой буквы…
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:21, спустя 19 секунд

    со светлой демотиватора не нашлось
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 16:27, спустя 6 минут 31 секунду

    а как добавить элемент в массив string[] ?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 17:30, спустя 1 час 2 минуты 40 секунд

    Во бля, конечно не через одно место, но типа получилось ))

    using System;
    //using System.Collections.Generic;
    //using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {

    Console.Write("Content-type: text/html\n\n");
    Request r = new Request(System.Environment.GetEnvironmentVariable("QUERY_STRING"));
    string mode = r.get("mode");
    Console.Write("<html><head></head><body><h1>Привет мир!</h1>Mode is " + mode + "</body></html");
    }
    }


    class Request
    {
    private string[] Params;
    private string[] Values;
    private int MaxCount;
    private string QueryString;

    public Request(string QueryString)
    {
    this.MaxCount = 10;
    this.Params = new string[this.MaxCount];
    this.Values = new string[this.MaxCount];
    this.QueryString = QueryString;
    this.ParseQueryString();
    }

    public string get(string ParamName)
    {
    int indx = -1;
    foreach (string p in this.Params)
    {
    indx++;
    if (p == ParamName) {
    return this.Values[indx];
    }
    }

    return null;
    }

    private void ParseQueryString()
    {
    int indx = 0;
    string buff = "";
    bool ParamLast = true;
    foreach (char ch in this.QueryString)
    {
    if (ch == '&')
    {
    this.Values[indx] = buff;
    buff = "";
    indx++;
    ParamLast = !ParamLast;
    }
    else if (ch == '=')
    {
    this.Params[indx] = buff;
    buff = "";
    ParamLast = !ParamLast;
    }
    else
    {
    buff += ch;
    }

    if (indx == this.MaxCount)
    {
    break;
    }
    }

    if (buff != "")
    {
    if (ParamLast)
    {
    this.Params[indx] = buff;
    }
    else
    {
    this.Values[indx] = buff;
    }
    }

    }
    }
    }
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 17 ноября 2010 г. 17:36, спустя 6 минут 9 секунд

    чуть красивее)
    class Request
    {
    Dictionary<string, string> getMethodParams;
    private int MaxCount;
    private string QueryString;

    public Request(string QueryString)
    {
    this.MaxCount = 10;
    this.getMethodParams = new Dictionary<string, string>(this.MaxCount);

    this.QueryString = QueryString;
    this.ParseQueryString();
    }

    public string get(string ParamName)
    {
    return getMethodParams[ParamName];
    }

    private void ParseQueryString()
    {
    int indx = 0;

    string[] keyValueString = this.QueryString.Split(new char[] { '&' });
    string[] keyAndValue = null;

    foreach (string str in keyValueString)
    {
    keyAndValue = str.Split(new char[] { '=' });
    getMethodParams.Add(keyAndValue[0], keyAndValue[1]);

    indx++;
    if (indx == this.MaxCount)
    break;
    }
    }
    }

    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!