Fajne zestawienie nowych funkcjonalności C# wersja po wersji

Kategorie: (C#), napisany przez: Maga, data: 29-04-2012

Tagi: 

C# wersja po wersji

Źródło obrazka

C# vs C/C++ – część 3 (foreach)

Kategorie: (C#), napisany przez: Maga, data: 08-02-2009

Tagi: 

Bardzo cieszy mnie w C# obecność instrukcji foreach, gdyż bardzo przydawała mi się ona, gdy programowałam w PHP.

Jednak w przeciwieństwie do PHP C# nie pozwala na zmianę wartości danej kolekcji w tejże pętli.

C# vs C/C++ – część 2 (tablice)

Kategorie: (C#), napisany przez: Maga, data: 02-02-2009

Tagi: 

To lubię…

Podobnie jak w PHP do którego „luzu” się przyzwyczaiłam przez ostatnie lata, w C# nie muszę się przejmować rozmiarem tablic:) Generalnie wygląda to tak, że pakujemy sobie do tablicy to co trzeba, a następnie możemy pobrać rozmiar tablicy, którą w ten sposób otrzymaliśmy.

Przykład deklaracji tablicy:

int[] NazwaTablicy;

Oczywiście zamiast int może być dowolna nazwa typu – czy to wbudowanego czy zdefiniowanego przez użytkownika.
Przypisywanie danych do tablic odbywa się raczej standardowo poprzez użycie nawiasów kwadratowych. Z kolei pobranie rozmiaru tablicy wygląda następująco:

NazwaTablicy.length;

C# vs C/C++ – część 1 (maskowanie znaków specjalnych w stringu)

Kategorie: (C#), napisany przez: Maga, data: 31-01-2009

Tagi: 

Jako że w C/C++ pisałam dużo więcej niż w C# do tej pory i choć były to zamierzchłe czasy a programy niekomercyjne to jednak bardzo ciekawią mnie różnice między tymi dwoma językami. Generalnie lubię mieć punkt odniesienia w postaci jakiegoś języka, który znam i móc sobie do niego porównać to z czym mam do czynienia. Interesują mnie takie drobne niuanse typu – w tym języku tak, a w tamtym inaczej. Wiedza o nich przydaje się również, gdy potrzebujemy szybko napisać coś w języku do którego nie jesteśmy przyzwyczajeni. Ja na przykład pisząc na co dzień w PHP często łapałam się na pisaniu znaku dolara przed zmiennymi w C++ i uparcie zapominałam o typach;) Takie przykłady można by mnożyć, ja tymczasem mam zamiar mnożyć tutaj drobne różnice między C/C++ i C# z uwagi na fakt, że właśnie mam szansę na dobre z C# się zabrać. Podejrzewam więc, że notka ta będzie pierwszą z takiego cyklu.

Pierwsza nowa dla mnie rzecz jaka spodobała mi się w C# to możliwość uniknięcia maskowania znaków specjalnych w stringach. W C/C++ string, który zawiera znaki specjalne (backslash, nowa linia) musi jednocześnie zawierać też znaki maskujące – backslash.

Przykładowo:

cout << "Przykład na użycie escape'owania: C:\\Folder1\\Folder2\\file1.txt";

Żeby móc wyświetlić backslash w środku tego stringa musieliśmy go zamaskować.
Tymczasem w C# wystarczyłoby dodać przed stringiem znak małpki – @.

Przykładowo:

Console.Writeline(@"Przykład na użycie escape'owania: C:\Folder1\Folder2\file1.txt");

Rozwiązanie zastosowane w C# jest bardzo wygodne, ponieważ sprawia, że nie musimy się martwić o to, co zawiera dany string:)

Najprostszy sposób odczytywania danych z GET’a w ASP.NET 2.0 i C#

Kategorie: (C#, Visual Studio 2005), napisany przez: Maga, data: 22-09-2008

Tagi: ,

Najprostszy oczywiście nie oznacza najlepszy. Można go użyć, jeśli z jakiś przyczyn nie chcemy tworzyć kodu C# w osobnym pliku i mamy coś megaprostego do zrobienia.
Załóżmy więc, że mamy taki oto prościutki formularz:

1
2
3
4
5
<form action="index.aspx">
    <input name="login" type="text">
    <input name="password" type="password">
    <input type="submit" name="Zaloguj" value="Zaloguj">
</form>

Fajnie by było, gdyby po błędnym zalogowaniu formularz nadal pamiętał login jaki wpisaliśmy w pole login.
Zmienimy więc odpowiednio linijkę numer 2:

2
3
<input name="login" type="text"
value="<%=HttpUtility.HtmlEncode(Request.QueryString["login"])%>">

W ten sposób wartość pola login będzie zawsze miała taką wartość jaka została wpisana przed wysłaniem formularza.
Generalnie Request.QueryString["login"] przechowuje wartość pola „login”.