Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    addizione con datarow.. perchè non mi fuziona?

    ciao assumendo che datarowmatch sia di tipo DataRow, questo codice non potrà mai funzionare:
    codice:
    datarowmatch[1] += Convert.ToInt32(datarowart[2].ToString());
    ma perchè continua a non funzionare anche se lo cambio in questo modo:
    codice:
    Convert.ToInt32(datarowmatch[1].ToString()) += Convert.ToInt32(datarowart[2].ToString());
    e manco così:
    codice:
    (int)datarowmatch[1] += Convert.ToInt32(datarowart[2].ToString());
    il debugger mi dice:
    La parte sinistra di un'assegnazione deve essere una variabile, una proprietà o un indicizzatore.

  2. #2
    forse dovresti fare la somma del valore (int) che hai nella colonna della datarow con il nuovo valore e poi assegnarlo alla datarow
    dr[0] = (int) dr[0] + 1
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da riccardone
    forse dovresti fare la somma del valore (int) che hai nella colonna della datarow con il nuovo valore e poi assegnarlo alla datarow
    dr[0] = ((int) dr[0] + (int) 1)
    in questo modo mi dici che l'operatore di assegnazione di addizione += non posso usarlo con il tipo datarow?
    strano però..

  4. #4
    le colonne della datarow, di una datatable generica, non sono tipizzate e quindi quando vi fai riferimento di default vengono trattate come object
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da riccardone
    le colonne della datarow, di una datatable generica, non sono tipizzate e quindi quando vi fai riferimento di default vengono trattate come object
    si ma infatti cerco di tipizzarle io con un Convert.. però forse non si può sugli oggetti DataRow..

  6. #6
    puoi tipizzarle in lettura (unboxing), ed infatti lo faccio anche nel mio esempio, ma in assegnazione il discorso e' un po' diverso e va considerato che assegnando un value type (es un int) fai il boxing di questo in un reference type come la datarow
    Saluti a tutti
    Riccardo

  7. #7
    cmq e' un po' ingarbugliata la fazenda...
    copiando e incollando dalle specifiche c#

    When a property or indexer declared in a struct-type is the target of
    an assignment, the instance expression associated with the property or
    indexer access must be classified as a variable. If the instance
    expression is classified as a value, a compile-time error occurs.
    Saluti a tutti
    Riccardo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.