1

「ゲーム」というカスタムクラスがあります。このクラスのインスタンスを3つ作成するとします。

Public Class FrmMain
  Public Sub addGames()
    for x As Integer = 1 To 3 Step 1
      Dim game As New game
      if x = 1 then game.name = "Zelda"
      if x = 2 then game.name = "Mario"
      if x = 3 then game.name = "Donkey Kong"
    next
  End Sub

  Public Sub findMario()
    'What goes here?
  End Sub
End Class

サブ「findMario()」に何を入れて、「game」のインスタンスを「Mario」と等しいnameプロパティを取得しますか?

4

1 に答える 1

3

あなたはこのようなことをすることができます:

Public Class FrmMain
    Dim games as new List(of game)

    Public Sub addGames()
        games.Add(New Game With {.Name = "Zelda"})
        games.Add(New Game With {.Name = "Mario"})
        games.Add(New Game With {.Name = "Donkey Kong"})
    End Sub

    Public Sub findMario()
        Dim result = (From game In games
                     Where game.Name.Equals("Mario")
                     Select game).FirstOrDefault

        'Do something with the result
    End Sub
End Class

外部テキストファイルからゲーム名を取得する必要がある場合は、次のようにすることができます。

Public Sub addGames()
    Dim names = File.ReadAllLines("C:\games.txt")        

    names.ToList().ForEach(Sub(x) games.Add(New Game With {.Name = x}))
End Sub
于 2012-11-30T05:52:11.000 に答える