🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
13 messages
13 total messages Started by Michał Tue, 22 Jun 2010 11:41
Struktura danych [laik]
#21619
Author: Michał
Date: Tue, 22 Jun 2010 11:41
38 lines
1589 bytes
Witam,

Jestem bardzo początkujący w C# i mam taką prośbę o sugestie.

Mam taka strukturę danych.

Int Wiek

String Imie

String Nazwisko

..

..

String Poczta



Będę chciał sortować po wieku lub nazwisku.



Prosił bym o pomoc jakiej struktury danych mam użyć i jak to 
zaimplementować. Wiem, że w C# są już metody do sorotiwania... ale na tym 
moja wiedza się kończy.

Dane  będę wczytywane z klawiatury lub pliku txt ale z tym to już sobie 
poradzę.

Kwestia jak  to strukturę danych mądrze zrobić i zaimplementować.



--

Pozrawiam
Re: Struktura danych [laik]
#21620
Author: mk
Date: Tue, 22 Jun 2010 11:58
36 lines
1935 bytes
Michał wrote:
...
> Prosił bym o pomoc jakiej struktury danych mam użyć i jak to 
> zaimplementować. Wiem, że w C# są już metody do sorotiwania... ale na tym 
> moja wiedza się kończy.
> 
> Dane  będę wczytywane z klawiatury lub pliku txt ale z tym to już sobie 
> poradzę.
> 
> Kwestia jak  to strukturę danych mądrze zrobić i zaimplementować.
> 


Ja bym to raczej nazwał klasą niż strukturą. Np tak:

class Osoba
{
Int Wiek
String Imie
String Nazwisko
...
}

Następnie tworzysz objekty tej klasy i dodajesz to do listy (poczytaj w 
necie o kolekcjach a w szczególności o "List").

W liście masz już metodę sort, którą możesz modyfikować wg uznania 
(czyli wybierasz sobie po czym chcesz sortować)

...
Ha, akurat miałem otwarte w przeglądarce :)
http://www.developerfusion.com/code/5513/sorting-and-searching-using-c-lists/

Tam masz wszystko wyłożone na tacy.

MK
Re: Struktura danych [laik]
#21621
Author: Michał
Date: Tue, 22 Jun 2010 12:06
10 lines
1277 bytes
Użytkownik "mk" <mk@nospam.com> napisał w wiadomości 
news:4c20a551$0$19169$65785112@news.neostrada.pl...

>
> Ja bym to raczej nazwał klasą niż strukturą. Np tak:

No coż, najpier uczyłem się Pascala.....

Wielkie dzięki za pomoc!!!!
Re: Struktura danych [laik]
#21622
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 22 Jun 2010 12:51
38 lines
2013 bytes
On Tue, 22 Jun 2010 13:58:05 +0200, mk wrote:

> Ja bym to raczej nazwał klasą niż strukturą. Np tak:
> 
> class Osoba
> {
> Int Wiek
> String Imie
> String Nazwisko
> ...
> }

Uwaga kosmetyczna, 99.9% C#owców korzysta z aliasa string,
a z BCLowego String np w przypadku String.Format, String.Empty.

Wypadałoby zrobić propertiesy z tych pół, oraz upublicznić je,
bo nie ma żadnego pożytku z agregatu którego memberzy są prywatni.
I ogółnie nadać access modifier dla Osoba też by wypadało.

Hint: w edytorze Visual Studio - prop<tab><tab> ;-).

> Następnie tworzysz objekty tej klasy i dodajesz to do listy (poczytaj w 
> necie o kolekcjach a w szczególności o "List").
> 
> W liście masz już metodę sort, którą możesz modyfikować wg uznania 
> (czyli wybierasz sobie po czym chcesz sortować)

Albo z LINQ z .NET FW 3.5+:

http://msdn.microsoft.com/en-us/library/bb308959.aspx

Przy czym łatwiej się operuje kolekcjami funkcyjnie,
tzn. za pomocą LINQ, niż imperatywnie pętlami czy
też List.Sort() + IComparer, moim zdaniem oczywiście.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Re: Struktura danych [laik]
#21623
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 22 Jun 2010 12:52
9 lines
1212 bytes
On Tue, 22 Jun 2010 14:51:15 +0200, Łukasz 'Maly' Ostrowski wrote:
> Uwaga kosmetyczna, 99.9% C#owców korzysta z aliasa string,
> a z BCLowego String np w przypadku String.Format, String.Empty.

To oczywiście też się tyczy Int32, Single, Double etc.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Re: Struktura danych [laik]
#21624
Author: Karol Y
Date: Tue, 22 Jun 2010 17:45
13 lines
1252 bytes
> Uwaga kosmetyczna, 99.9% C#owców korzysta z aliasa string,
> a z BCLowego String np w przypadku String.Format, String.Empty.

Nie wiem czy dobrze zrozumiałem.

99.9% C#owców korzysta z aliasa "string" jak chce zapisać

string imie;

a z "String" jak chcą używać metod tej klasy?

-- 
Mateusz Bogusz
Re: Struktura danych [laik]
#21625
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 22 Jun 2010 19:46
25 lines
1665 bytes
On Tue, 22 Jun 2010 19:45:38 +0200, Karol Y wrote:

>> Uwaga kosmetyczna, 99.9% C#owców korzysta z aliasa string,
>> a z BCLowego String np w przypadku String.Format, String.Empty.
> 
> Nie wiem czy dobrze zrozumiałem.
> 
> 99.9% C#owców korzysta z aliasa "string" jak chce zapisać
> 
> string imie;
> 
> a z "String" jak chcą używać metod tej klasy?

Ta, jeżeli chcą sie odwołać do statycznych memberów,
tzn. ja formalnie używam zawsze string ;-).

Na stackoverflow i na różnych takich miejscach mrugnął
mi convention z String.Blah.

W sumie bardziej miałem na myśli że CSowcy w 99%
korzystaja ze string, a niektórzy ze String.Blah ;-).

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Re: Struktura danych [laik]
#21626
Author: Wiktor Zychla
Date: Tue, 22 Jun 2010 21:14
24 lines
1820 bytes
> Nie wiem czy dobrze zrozumiałem.

po pierwsze, nie ma czegoś takiego jak String. jest System.String.

to oznacza, że

String s;

nie skompiluje się samo z siebie bez

using System;

gdzieś wyżej. natomiast

string s;

skompiluje się zawsze, bo string to alias dla System.String, rozpoznawany 
extra przez kompilator C#.

po drugie, nie spotkałem się nigdy z konwencją string dla metod instancji, 
String dla metod statycznych. to ma średni sens.

pozdrawiam uprzejmie,
Wiktor Zychla 
Re: Struktura danych [laik]
#21627
Author: Łukasz 'Maly' Ostrowski
Date: Tue, 22 Jun 2010 22:08
17 lines
1627 bytes
On Tue, 22 Jun 2010 23:14:03 +0200, Wiktor Zychla wrote:
> po drugie, nie spotkałem się nigdy z konwencją string dla metod instancji, 
> String dla metod statycznych. to ma średni sens.

Nie string dla metod instancji, tylko w deklaracjach - string,
a w callach do statyków/constów String.

Na StackOverflow było pare takich dyskusji i było
parę postów "semi-autorytatywnych" o takich praktykach,
tylko dlatego to dodałem. Jednak tak jak dorzuciłem, 
też realnie nikt ze "znajomych" nie korzysta z 
System.String.Whatever(...) - tylko zawsze z c#owego 
aliasa string.

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Re: Struktura danych [laik]
#21628
Author: Wiktor Zychla
Date: Wed, 23 Jun 2010 07:16
7 lines
1495 bytes
> Na StackOverflow było pare takich dyskusji i było
> parę postów "semi-autorytatywnych" o takich praktykach,

masz może linki albo pamiętasz argumentację?

Wiktor Zychla
 
Re: Struktura danych [laik]
#21629
Author: Łukasz 'Maly' Ostrowski
Date: Wed, 23 Jun 2010 07:44
24 lines
1849 bytes
On Wed, 23 Jun 2010 09:16:59 +0200, Wiktor Zychla wrote:

>> Na StackOverflow było pare takich dyskusji i było
>> parę postów "semi-autorytatywnych" o takich praktykach,
> 
> masz może linki albo pamiętasz argumentację?

http://stackoverflow.com/questions/215255/string-vs-string-in-c/459364#459364
linkuje z:
  http://tommycode.blogspot.com/2009/01/string-versus-string-in-c.html
referuje:
  http://www.idesign.net coding standard

http://stackoverflow.com/questions/116523/string-vs-string/116544#116544

Jednak odpowiedzi na najistotniejsze pytanie nie ma, dlaczego tak
a nie string.Whatever. 

Może któś lubi podświetlanie teal'em jako identyfikatorów typów
a nie blue jako keywordów ;-).

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Re: Struktura danych [laik]
#21630
Author: Wiktor Zychla
Date: Wed, 23 Jun 2010 10:23
10 lines
1805 bytes
> Może któś lubi podświetlanie teal'em jako identyfikatorów typów
> a nie blue jako keywordów ;-).

równie dobrze może chodzić o jakiś rodzaj bata na klepaczy kodu, którzy 
nieuważnie będą studiować standard kodowania i za to będzie można obciąć im 
premie :)
a poważnie - nie widzę żadnego rozsądnego uzasadnienia.

Wiktor Zychla 
Re: Struktura danych [laik]
#21631
Author: Łukasz 'Maly' Ostrowski
Date: Wed, 23 Jun 2010 10:39
11 lines
1603 bytes
On Wed, 23 Jun 2010 12:23:14 +0200, Wiktor Zychla wrote:
> równie dobrze może chodzić o jakiś rodzaj bata na klepaczy kodu, którzy 
> nieuważnie będą studiować standard kodowania i za to będzie można obciąć im 
> premie :)
> a poważnie - nie widzę żadnego rozsądnego uzasadnienia.

Ja również, wręcz przeciwnie, trzeba wciśnąć dodatkowo Shift :).

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.pl/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads