Ho notato che gli array hanno il metodo SetValue, che sembra un po 'fuori luogo quando si possono semplicemente usare gli indicizzatori. C'è qualche scopo speciale per SetValue? L'articolo MSDN non sembrava dire cosa fosse SetValue, solo come usarlo. Quale metodo sarebbe più efficiente da usare per quanto riguarda la velocità?Utilizzo del metodo SetValue di un array rispetto all'indicizzatore []
9
A
risposta
15
A volte tutto ciò che si ha di un array è che è un Array
. La classe Array
non ha indicizzatori, quindi il modo migliore per impostare/ottenere valori elemento su di esso è tramite i metodi GetValue
e SetValue
. Per esempio:
private void M(Array array)
{
array[0] = 5; // <-- Compiler error
array.SetValue(5, 0); // <-- Works
}
Problemi correlati
- 1. Utilizzo del metodo statico rispetto al metodo dell'oggetto
- 2. Utilizzo di setValue (valore, forKey: chiave) su Int? tipi attiva metodo di codifica senza valore chiave
- 3. NSDictionary setValue:
- 4. Utilizzo del metodo sys.stdout.flush()
- 5. setValue: forUndefinedKey:]:
- 6. Progettazione del metodo statico rispetto all'oggetto
- 7. Utilizzo del metodo self-class
- 8. Accesso diretto a una variabile di istanza rispetto a Utilizzo di un metodo di accesso
- 9. Utilizzo del metodo bindData all'esterno del controller
- 10. Utilizzo del datastore di jQuery rispetto alle proprietà expando
- 11. Utilizzo del metodo _.debounce() di Underscore
- 12. Utilizzo del metodo Ricorsivo in java
- 13. Perl metodo di classe del modulo rispetto alla subroutine ordinaria
- 14. Metodo astratto PHP rispetto al metodo predefinito
- 15. NSUnknownKeyException setValue: forUndefinedKey:
- 16. SimpleStringProperty set() vs. setValue()
- 17. Utilizzo di un metodo di ritorno del metodo di classe baseclass?
- 18. Utilizzo di var all'esterno di un metodo
- 19. Utilizzo di un array associativo come nome di variabile? - javascript
- 20. Utilizzo del metodo .where in Rails3
- 21. KeyNotFoundException con utilizzo del metodo HtmlEntity.DeEntitize()
- 22. Utilizzo del metodo PUT con Express.js
- 23. Utilizzo del metodo mancante in Rails
- 24. Utilizzo del delegato Func con metodo Async
- 25. strtok - array di caratteri rispetto puntatore char
- 26. Confronto delle prestazioni dell'array di array rispetto agli array multidimensionali
- 27. Utilizzo diretto del canale o utilizzo di un proxy?
- 28. Array dattiloscritto rispetto a qualsiasi []
- 29. Metodo di estensione prestazioni rispetto al metodo di istanza
- 30. Utilizzo del metodo dispose() invece del metodo close() su un modulo
Inoltre, se non si conosce il numero di dimensioni della matrice in fase di compilazione, è possibile utilizzare la SetValue '(Object, Int32 [])' sovraccarico per specificare gli elementi in fase di esecuzione: http : //msdn.microsoft.com/en-us/library/758awxk7.aspx –
Da dove vengono avviati gli indici? Uno si aspetterebbe 0, ma oggi ho riscontrato un valore restituito da un componente COM con un tipo .NET di matrice, ma gli indici iniziarono a 1, non a 0. –
@PeterMortensen, COM è davvero un posto spaventoso. :) Ma questa è un'informazione interessante. –