Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-05-2010, 11:06   #1
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
[C#] come usare l'operazionee di casting

ciao a tutti,
sto iniziando a usare l'operazione di casting in c#.
però forse non è ho ben capito come funziona.
nell'esempio di sotto cerco di capire se posso convertire un int in string e mi dice che non è possibile cioè entra sempre nel blocco else.

mi date due dritte per capire?
grazie in anticip


Quote:
static void Main()
{
int mioInt = 2;
object objGeneral = mioInt;

if (objGeneral is string)
{
string miastringa = (string)objGeneral;
}
else
{
Console.WriteLine("Non è possibile fare la conversione!");
}
}
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 11:30   #2
lock cmpxchg8b %ebx
Member
 
Iscritto dal: Apr 2010
Messaggi: 56
L'operatore is controlla se il tipo di un oggetto è compatibile con un dato tipo.
Il casting esplicito da int a string non è definito, quindi quell'espressione sarà sempre falsa, indipendentemente dal valore di mioInt.
Se vuoi ricavare una stringa da un intero usa:
Codice:
string miastringa = mioInt.ToString();
Non c'è bisogno di alcun controllo, perché tutti gli interi sono rappresentabili come stringhe.
lock cmpxchg8b %ebx è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 11:35   #3
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
ok grazie mille capito questo punto.
e quando è che posso usare l'operatore is nel caso di casting?
mi faresti in piccolo esempio per capire?

grazie
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 11:39   #4
lock cmpxchg8b %ebx
Member
 
Iscritto dal: Apr 2010
Messaggi: 56
C'è un esempio nella pagina MSDN.
http://msdn.microsoft.com/en-us/library/scekt9xw.aspx
lock cmpxchg8b %ebx è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 13:00   #5
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da giangi_luca Guarda i messaggi
ok grazie mille capito questo punto.
e quando è che posso usare l'operatore is nel caso di casting?
mi faresti in piccolo esempio per capire?

grazie
is si usa nel caso di ereditarietà:
Codice:
class BaseClass
{...}
class Derived1 : BaseClass
{}
class Derived2 : BaseClass
{}

void Cast(BaseClass bc)
{
    if(bc is Derived1)
    {...}
    else if (bc is Derived2)
    {...}
     ...
}
Anche se un codice così è sicuramente rifattorizzabile in maniera migliore.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 13:55   #6
giangi_luca
Member
 
Iscritto dal: Sep 2009
Messaggi: 59
ok, ti ringrazio per l'uso dell' is.

mentre per fare il cast come faccio a capire se è un tipo di conversione
fattibile oppure no?
cioè posso sempre possibile fare un operazione di casting?
giangi_luca è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 23:12   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da giangi_luca Guarda i messaggi
ok, ti ringrazio per l'uso dell' is.

mentre per fare il cast come faccio a capire se è un tipo di conversione
fattibile oppure no?
cioè posso sempre possibile fare un operazione di casting?
Il cast è fattibile solo per oggetti legati da una qualche relazione di ereditarietà, altrimenti ottieni un errore in fase di compilazione.
Il cast tra oggetti in C# lo puoi fare con il tradizionale cast alla C o con "as".
Con il cast alla C ottieni una eccezione se il cast non è fattibile, con as ottieni un riferimento nullo.

In generale devi convertire (usando la classe Convert per i tipi base).
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2010, 12:42   #8
Morlack`X
Senior Member
 
L'Avatar di Morlack`X
 
Iscritto dal: Dec 2006
Messaggi: 650
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Il cast è fattibile solo per oggetti legati da una qualche relazione di ereditarietà, altrimenti ottieni un errore in fase di compilazione.
Il cast tra oggetti in C# lo puoi fare con il tradizionale cast alla C o con "as".
Con il cast alla C ottieni una eccezione se il cast non è fattibile, con as ottieni un riferimento nullo.

In generale devi convertire (usando la classe Convert per i tipi base).
Aggiungo solo che l'uso di un cast con As risulta molto piu' veloce rispetto al cast "alla C". Ovviamente se il cast è one-shot (ovvero ricorre raramente), non ha senso impazzire con l'As, invece se per esempio il cast è all'interno di un ciclo allora è importante valutare se usare un prefix-cast oppure un As.
Morlack`X è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Xbox Game Pass, il mese di luglio 2026 s...
Smartphone troppo cari: Qualcomm ripensa...
Age of Empires III: Definitive Edition t...
GitHub contro i report fatti dall'IA: ri...
Google spinge sugli schermi ultra-wide: ...
Occhiali smart, Instagram bannerà chi re...
L'UE approva PRIMA: il chip fotovoltaico...
Nothing smentisce l'uscita da alcuni mer...
Tassa sui pacchi extra-UE, Giorgetti: da...
Jensen Huang esordisce su X: 'non mettet...
Ha reso lo smartphone e Amazon lo ha 'pe...
TOP 10 offerte del weekend Amazon: ai pr...
TV LG C6 e B5 da 55 pollici: due OLED da...
Tomb Raider: Catalyst rinviato al 2028, ...
Lefant M210 Omni a 265,99€: il robot sli...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v