2017-09-08 4 views
0

Ich arbeite immer in C#, aber ich wurde gebeten, an einer älteren VB.Net-Lösung zu arbeiten. Im alten Code sehe ich das:Klammer nach Feldname in VB.Net

Private transactionListField() As TransactionInfoForStatement 

Das macht keinen Sinn für mich! Wenn es C# wäre, würde ich Folgendes erwarten:

private List<Transaction> _transactions; 

Kann mir bitte jemand erklären, was dieser VB-Code tut? Die Klammer hinter dem Namen lässt mich denken, dass sie eine Methode aufruft, aber wenn ich in Visual Studio Go To Definition bin, lande ich einfach in derselben Zeile!

+2

Von Auto-Konverter ... es bedeutet: 'Private TransactionInfoForStatement [] transactionListField' – Prisoner

+2

Es isn‘ t eine Liste, es ist ein Array. –

+0

@DanielShillcock deshalb ist die Namensgebung so wichtig. – Ciwan

Antwort

5

Das ist eine array Erklärung, können Sie auch diese Syntax verwenden, die ich bevorzuge:

TransactionListField As TransactionInfoForStatement() ' array which is declared but Nothing 

Arrays oder Indexer immer () in VB.NET verwenden, wie C# Gegensatz wo Sie [] verwenden.

ist es ein Vorteil, wenn man die Klammern-first-Syntax verwenden, können Sie die Größe angeben:

TransactionListField(10) As TransactionInfoForStatement ' array that contains 11 Nothing