Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti
Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti
Il Lenovo LOQ 15i Gen 10 (15IRX10) offre prestazioni convincenti grazie al Core i7-13650HX e alla RTX 5060 Laptop a 100W, mantenendo un prezzo competitivo tra 1100 e 1300 euro. Costruzione solida, buon display e ampia espandibilità lo rendono una scelta equilibrata per chi cerca un notebook gaming accessibile ma moderno.
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando
Abbiamo giocato a lungo a Battlefield 6, abbiamo provato tutte le modalità multiplayer, Redsec, e le numerose personalizzazioni. In sintesi, ci siamo concentrati su ogni aspetto del titolo per comprendere al meglio uno degli FPS più ambiziosi della storia dei videogiochi e, dopo quasi due mesi, abbiamo tirato le somme. In questo articolo, condividiamo con voi tutto ciò che è Battlefield 6, un gioco che, a nostro avviso, rappresenta esattamente ciò che questo genere attendeva da tempo
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare
Abbiamo messo alla prova il drone Antigravity A1 capace di riprese in 8K a 360° che permette un reframe in post-produzione ad eliche ferme. Il concetto è molto valido, permette al pilota di concentrarsi sul volo e le manovre in tutta sicurezza e decidere con tutta tranquillità come gestire le riprese. La qualità dei video, tuttavia, ha bisogno di uno step in più per essere competitiva
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-11-2008, 16:01   #1
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
[C#]Errore di assegnazione della variabile

Ciao!!!
Eccomi ritornato!
Non capisco perchè ho quest'errore direi abbastanza basilare...
ho creato 2 varibili di tipo string chiamate operazione e newoperazione.
Guardate questa pezzo di una funzione alla quale la varibile operazione è stata passata...
Codice:
//questo pezzo di codice dovrebbe copiare la variabile operazione in new operazione
           a=0;
            string newoperazione;

            while (true)
            {
                if (operazione[a] != '(' |
                    operazione[a] != ')' |
                    operazione[a] != '[' |
                    operazione[a] != ']' |
                    operazione[a] != '{' |
                    operazione[a] != '}' |
                    operazione[a] != '=')
                { break; }

                newoperazione[a] = operazione[a];

                a++;
            }
ho il seguente errore:
Errore 1 Impossibile assegnare un valore alla proprietà o all'indicizzatore 'string.this[int]' perché è in sola lettura C:\Users\Matteo\C#\Calculator 4\Calculator 4\Form1.cs 107 17 Calculator 4
Perchè?
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 18:10   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
non puoi modificare la stringa.
Per fare quello che vuoi dovresti usare la classe StingBuilder.
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:32   #3
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
che è sta classe? Comunque che non potessi modificare la stringa l'avevo capito solo mi chiedevo perchè e se quindi ci fosse un modo per poterla modificare senza ricorrere ad altre classi... Perchè comunque per le altre stringhe e variabili in generale tutto funzionava tranquillamente....
Quindi: perchè?

Grazie dell'aiuto
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:40   #4
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Perché usi il bitwise OR?
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:50   #5
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
che è sta classe? Comunque che non potessi modificare la stringa l'avevo capito solo mi chiedevo perchè e se quindi ci fosse un modo per poterla modificare senza ricorrere ad altre classi... Perchè comunque per le altre stringhe e variabili in generale tutto funzionava tranquillamente....
Quindi: perchè?

Grazie dell'aiuto

ma scusa hai mai programmato in C#?
Quote:
Originariamente inviato da MSDN
A string is a sequential collection of Unicode characters that is used to represent text. A String object is a sequential collection of System.Char objects that represent a string. The value of the String object is the content of the sequential collection, and that value is immutable.

A String object is called immutable (read-only) because its value cannot be modified once it has been created. Methods that appear to modify a String object actually return a new String object that contains the modification. If it is necessary to modify the actual contents of a string-like object, use the System.Text.StringBuilder class.
Quello che vuoi fare tu, ovvero "newoperazione[a] = operazione[a]" non è possibile.
Inoltre Elche ha giustamente notato che stai utilizzando il bitwise OR nelle condizioni dell'if al posto dell'OR normale....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:51   #6
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Perché usi il bitwise OR?
cioè?
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:52   #7
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
cioè?
cioè | al posto di ||
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:53   #8
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
scusate è che io è da poco che uso C# e prima usavo il c++ che mi influenza ancora parecchio non sapevo che le stringhe fossero read only....
E comunque cosa cambia in sto or?
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 20:55   #9
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
scusate è che io è da poco che uso C# e prima usavo il c++ che mi influenza ancora parecchio non sapevo che le stringhe fossero read only....
E comunque cosa cambia in sto or?
| lo devi utilizzare quando fai delle operazioni booleane sui byte, || lo devi utilizzare per tutti gli altri oggetti...
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 21:05   #10
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
perchè che cambia? io non ho mai avuto nessun problema...
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 21:27   #11
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
perchè che cambia? io non ho mai avuto nessun problema...
Quote:
The operation

x || y
corresponds to the operation

x | y
except that if x is true, y is not evaluated (because the result of the OR operation is true no matter what the value of y might be). This is known as "short-circuit" evaluation.
Di solito è buona norma utilizzare gli operatori che utilizzano lo short-circuit, ovvero analizzano solo il primo operando e solo se necessario anche il secondo....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 21:32   #12
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
boh non capisco
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 21:54   #13
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
boh non capisco
cosa non capisci?
se A è true e la condizione è A | B devi comunque vedere anche il valore di B prima di proseguire, se invece la condizione è A || B puoi proseguire immediatamente senza conoscere anche il valore di B...
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 21:54   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Anche se non ho ben capito ciò che vuoi ottenere con quel codice ( va sempre in break... o sbaglio ? ), nonostante la stringa sia un oggetto, metodi per "rigirarla" ce ne sono.
Prova questo e vedi se può andare :
Codice:
newoperazione.Remove(a, 1).Insert(a, operazione.Substring(a, 1));
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 22:04   #15
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Anche se non ho ben capito ciò che vuoi ottenere con quel codice ( va sempre in break... o sbaglio ? ), nonostante la stringa sia un oggetto, metodi per "rigirarla" ce ne sono.
Prova questo e vedi se può andare :
Codice:
newoperazione.Remove(a, 1).Insert(a, operazione.Substring(a, 1));
si ma è decisamente + comodo lo StringBuilder
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 22:06   #16
Mattyfog
Senior Member
 
Iscritto dal: Jul 2008
Messaggi: 1426
ho usato un array char...
adesso invece ho appena aperto un'altra discussione... fatevi sentire!
Mattyfog è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 22:08   #17
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
si ma è decisamente + comodo lo StringBuilder
Cioè ? Come sarebbe quello che ho scritto io con lo StringBuilder ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2008, 22:10   #18
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Mattyfog Guarda i messaggi
ho usato un array char...
Superfluo, ma se funziona...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2008, 12:39   #19
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Cioè ? Come sarebbe quello che ho scritto io con lo StringBuilder ?
Con StringBuilder poteva accedere direttamente all'array di char circostante e non avrebbe creato 3 nuove stringhe ad ogni iterazione del ciclo
Su un ciclo da 1 milione di iterazioni ti saresti trovato con 3 milioni di stringhe assolutamente inutili con conseguente utilizzo di memoria e occupazione del processore
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2008, 13:52   #20
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
Con StringBuilder poteva accedere direttamente all'array di char circostante e non avrebbe creato 3 nuove stringhe ad ogni iterazione del ciclo
Su un ciclo da 1 milione di iterazioni ti saresti trovato con 3 milioni di stringhe assolutamente inutili con conseguente utilizzo di memoria e occupazione del processore
Insomma non vuoi proprio postarlo sto codice che con StringBuilder fa quello che avevo scritto...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il notebook gaming 'budget' che non ti aspetti Lenovo LOQ 15i Gen 10 (15IRX10) alla prova: il n...
Due mesi di Battlefield 6: dalla campagna al battle royale, è l'FPS che stavamo aspettando Due mesi di Battlefield 6: dalla campagna al bat...
Antigravity A1: drone futuristico per riprese a 360° in 8K con qualche lacuna da colmare Antigravity A1: drone futuristico per riprese a ...
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
SpaceX: l'offerta pubblica iniziale del ...
La NASA prova i droni marziani nella Dea...
IBM acquisisce Confluent, leader nella g...
La Commissione Europea indaga AWS e Azur...
Sonda spaziale ESA JUICE: rilasciata una...
PS5 PRO a 698€? L'offerta che nessuno si...
L'equipaggio di Shenzhou-21 ha completat...
Dal milione di download alla rimozione f...
Legno, pelle naturale e socket AM5: la G...
Attenti a X-GPU: la piattaforma sospetta...
La Lotus Eletre Plug-in esiste davvero, ...
Garanzia estesa su Pixel 9 Pro e 9 Pro X...
Addio intelligenza artificiale su Window...
FRAME 4000D LCD RS ARGB, il nuovo case d...
Netflix: AV1 ora gestisce il 30% dello s...
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: 01:22.


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