Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Ordinare un array di numeri
Forum - C# / VB.NET - Ordinare un array di numeri - Pagina 2

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 13:24
Domenica, 22/11/2009
In teoria le conversioni di boolean verso interi e viceversa dovrebbe essere supportata. So per certo che False = 0, ma il valore di True è dubbio: da qualche parte ho letto che è -1, in altri articoli lo considerano 1, ma potrebbe non essere nessuno dei due. La cosa importante è che True <> False, quindi True <> 0.

PM
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 13:45
Domenica, 22/11/2009
come ho detto, non so in vb.net ma msdn per il c# dice espressamente così:

In C++ un valore di tipo bool può essere convertito in un valore di tipo int. In altri termini, false è equivalente a zero e true è equivalente a valori diversi da zero. In C# non viene eseguita alcuna conversione tra il tipo bool e gli altri tipi.

PM
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 17:38
Domenica, 22/11/2009
oddio cosa mi tocca vedere.... mi sembra di aver preso la macchina del tempo...
cicli...ecc....oddio....

si fa in 2 righe di codice...
Codice sorgente - presumibilmente C# / VB.NET

  1. int[] numbers = new int[] { 1, 5, 4, 3, 2 };
  2.            int[] nOrdered = numbers.OrderBy(x => x).ToArray();



senza usare alcuna funzione fornita dal Framework ?
a che scopo?

Ultima modifica effettuata da Gianluca87 il 22/11/2009 alle 17:47
PM
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 18:23
Domenica, 22/11/2009
forse se ragionassi un attimo magari ci arriveresti...cosa è più utile per uno che sta imparando a programmare, usare la funzione sort() oppure scriversela per capire come funziona?

mi spiace ma non sopporto la gente che si ferma dicendo "esiste la funzione comoda, perché devo fare fatica imparando altre cose?"
è un atteggiamento che non porta da nessuna parte e inoltre è dannoso perché ti fa credere di saper usare tutto mentre in realtà non sai niente di niente

ps: ma sai cosa succeder facendo OrderBy oppure ti basta il risultato? Su un array piccolo ok, ma se devrai fare un programma che gestisce matrici di immagini capirai che certe funzioni è meglio scriversele da soli, sono molto più performanti

PM
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 20:11
Domenica, 22/11/2009
Postato originariamente da lorenzo:

forse se ragionassi un attimo magari ci arriveresti...cosa è più utile per uno che sta imparando a programmare, usare la funzione sort() oppure scriversela per capire come funziona?



hai ragione sbaglio tutto forse bisognerebbe prima di fare cicli for imparare a fare le schede perforate sicuramente sono ancora più performanti! ad ogni modo questo discorso non ha senso su una piattaforma come Framework .net capire come, dove e perchè utilizzare un qualcosa è molto più utile del capire come mai funzioni...

Postato originariamente da lorenzo:
mi spiace ma non sopporto la gente che si ferma dicendo "esiste la funzione comoda, perché devo fare fatica imparando altre cose?"
è un atteggiamento che non porta da nessuna parte e inoltre è dannoso perché ti fa credere di saper usare tutto mentre in realtà non sai niente di niente


non so che post tu abbia letto...ma di certo non il mio le mie parole sono state ben altre...leggi meglio poi ne discutiamo..
sai cosa non sopporto io? la chiusura mentale e la propensione per continuare a usare strumenti che già si conoscono quando invece ci sono tecnologie nuove in questo caso (LINQ TO OBJECT)
quindi il mio consiglio in questo caso è il seguente:
prima di rispondere a qualcuno assicurati di aver compreso quello che scrive.

Postato originariamente da lorenzo:
ps: ma sai cosa succeder facendo OrderBy oppure ti basta il risultato? Su un array piccolo ok, ma se devrai fare un programma che gestisce matrici di immagini capirai che certe funzioni è meglio scriversele da soli, sono molto più performanti


Beh oddio si usa su DB dove i record possono essere milioni...qualcosa di giusto quelli di microsoft l'avranno fatta no?
comunque ... bisognerebbe prima comprendere l'utilità di una funzione del genere in un contesto di gestione delle immagini pixcel per pixcel

PM
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 20:37
Domenica, 22/11/2009
a parte il fatto che si scrive pixel e non pixcel,
se tu avessi una minima conoscenza di cosa si intende per ordinamento sapresti che anche in un normalissimo database aziendale(dove ho lavorato io usavo un db access) serve a molto l'ottimizzazione delle prestazioni
difatti invece di scegliere un normale ordinamento in quel caso usai il merge-sort, visto che mi servivano ottime tempistiche.

passando all'altro punto della questione, il fatto che un linguaggio faciliti le cose in maniera incredibile(io uso c# e mi trovo benissimo, non lo disprezzo certo perchémi aiuta a velocizzare il codice) non significa che bisogna buttare nel cesso(scusate a terminologia) tutte le nozioni di base.

NON SI PUO costruire una casa senza le fondamenta, se lo si fa questa regge bene fino a quando non viene messa realmente alla prova e solo allora cade a terra in mille pezzi. Ricordati che il sapere cosa c'é dietro le funzioni del framework(e non solo del .NET, anche la STL del C++, i moduli di python, le classi di java, etc..) ti permette di usare gli strumenti avanzati al meglio.

poi fai come vuoi, impara solo System.Collections.Generic.List<T> per i vettori senza sapere cosa è un vettore e che differenza c'é tra array e vector ma non venire a chiedere aiuto quando dovrai usare un linguaggio che non dispone di Liste automatiche e dovrai per forza impararle. E fidati se ti dico che al mondo non esiste solo .net...ci sono cose molto più difficili da usare

Ultima modifica effettuata da lorenzo il 22/11/2009 alle 20:39
PM
Avatar
xCromos (Normal User)
Newbie


Messaggi: 14
Iscritto: 05/12/2008

Segnala al moderatore
Postato alle 20:49
Domenica, 22/11/2009
Scusate se mi intrometto, ma caro [Edit]Gianluca[Edit] cosa me ne faccio di una funzione gia fatta? Se cerco di creare da solo l'algoritmo imparo qualcosa, imparo a usare i cicli, imparo a programmare! Se ho una pappa gia bella pronta è totalmente inutile.

Ultima modifica effettuata da xCromos il 22/11/2009 alle 21:04
PM
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 21:02
Domenica, 22/11/2009
Testo quotato

Postato originariamente da lorenzo:

a parte il fatto che si scrive pixel e non pixcel,
se tu avessi una minima conoscenza di cosa si intende per ordinamento sapresti che anche in un normalissimo database aziendale(dove ho lavorato io usavo un db access) serve a molto l'ottimizzazione delle prestazioni
difatti invece di scegliere un normale ordinamento in quel caso usai il merge-sort, visto che mi servivano ottime tempistiche.


lavoro a tuttora su cluster di db SQLServer...sentire parlare di performance su access è come parlare di performance su una panda del 75...poi chiaro che se attacchi un rimorchio alla panda avrai la necessità che la carrozzeria sia lucidata per avere minor atrito con l'aria...

Testo quotato

Postato originariamente da lorenzo:
passando all'altro punto della questione, il fatto che un linguaggio faciliti le cose in maniera incredibile(io uso c# e mi trovo benissimo, non lo disprezzo certo perchémi aiuta a velocizzare il codice) non significa che bisogna buttare nel cesso(scusate a terminologia) tutte le nozioni di base.


non ho detto questo...

Testo quotato

Postato originariamente da lorenzo:
NON SI PUO costruire una casa senza le fondamenta, se lo si fa questa regge bene fino a quando non viene messa realmente alla prova e solo allora cade a terra in mille pezzi. Ricordati che il sapere cosa c'é dietro le funzioni del framework(e non solo del .NET, anche la STL del C++, i moduli di python, le classi di java, etc..) ti permette di usare gli strumenti avanzati al meglio.


Finchè continuerai a voler costruire le case con i mattoni...

Testo quotato

Postato originariamente da lorenzo:
poi fai come vuoi, impara solo System.Collections.Generic.List<T> per i vettori senza sapere cosa è un vettore e che differenza c'é tra array e vector ma non venire a chiedere aiuto quando dovrai usare un linguaggio che non dispone di Liste automatiche e dovrai per forza impararle. E fidati se ti dico che al mondo non esiste solo .net...ci sono cose molto più difficili da usare


è vero non esiste solo .net...ma dove siamo ora? forum di .net... che linguaggio usi?vb.net? o python?

è proprio questo che non avete capito...
saper eseguire query su liste di oggetti in questi casi rende inutile l'utilizzo dei cicli...siamo nel 2009...

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo