C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

配列の宣言に関して

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■94608 / inTopicNo.1)  配列の宣言に関して
  
□投稿者/ エアリア (1回)-(2020/04/24(Fri) 14:04:08)

分類:[.NET 全般] 

Visual Studio 2019、VB.NETを使用しています。

やりたいことが若干ふわっとしていて、どのように検索すればよいのかがわからないため、教えていただけたらと思います。

DIM WORK_NAME(99) As String '名前
DIM WORK_AGE(99) As String '年齢
DIM WORK_SEX(99) As String '性別
DIM WORK_TEL(99) As String '電話番号

上記のような、4つの項目を1つのレコードのように宣言を行いたいと考えています。
名前をキーとして、年齢、性別、電話番号を呼び出すなどが行えたり、格納しただけでは、名前があいうえお順に並んでいないけど、
レコードをソートしてあいうえお順にするなど、が行いたいです。

この春から学び始めているのですが、まだ出来ることが少なく、やりたいことが可能なのかどうか自体わからない状態で、
大変お手数ではありますが、ご教授いただければと思います。

よろしくお願いします。
引用返信 編集キー/
■94609 / inTopicNo.2)  Re[1]: 配列の宣言に関して
□投稿者/ shu (1225回)-(2020/04/24(Fri) 14:18:34)
No94608 (エアリア さん) に返信
> Visual Studio 2019、VB.NETを使用しています。
> 
> やりたいことが若干ふわっとしていて、どのように検索すればよいのかがわからないため、教えていただけたらと思います。
> 
> DIM WORK_NAME(99) As String    '名前
> DIM WORK_AGE(99) As String    '年齢
> DIM WORK_SEX(99) As String    '性別
> DIM WORK_TEL(99) As String    '電話番号

どんな方法でもよいのでしょうか?
Dim tbl as New DataTable()
with tbl.Columns
    .Add("NAME", GetType(String))
    .Add("AGE", GetType(Integer))
    .Add("SEX", GetType(String))
    .Add("TEL", GetType(String))
End With

tbl.rows.Add("名前1", 10, "男", "090-9999-9999")
tbl.rows.Add("名前2", 15, "男", "090-9999-9998")
tbl.rows.Add("名前3", 20, "女", "090-9999-9997")
tbl.rows.Add("名前4", 17, "女", "090-9999-9996")
tbl.rows.Add("名前5", 13, "男", "090-9999-9995")

Dim rows1 = tbl.Select("", "Name")
Dim rows2 = tbl.Select("", "AGE")
など

引用返信 編集キー/
■94610 / inTopicNo.3)  Re[1]: 配列の宣言に関して
□投稿者/ WebSurfer (2045回)-(2020/04/24(Fri) 14:38:00)
No94608 (エアリア さん) に返信

DB のテーブルのレコードを意識するなら、例えば以下のようなクラスを定義して、
(コードは C# です)

public class Record
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string Sex { get; set; }
    public string Phone { get; set; }
}

それをベースに List<Record> 型のオブジェクトを作って、

List<Record> records = new List<Record>();

必要に応じてレコードを順次追加していてはいかがですか?

records.Add(new Record { Name = "山田", Age = 25, Sex = "男", Phone = "045-123-xxxx" });

そうすれば Linq を利用してやりたいこと(以下と理解)はできるのではないですか?

> 名前をキーとして、年齢、性別、電話番号を呼び出すなどが行えたり、格納しただけでは、
> 名前があいうえお順に並んでいないけど、レコードをソートしてあいうえお順にするなど、
> が行いたいです。

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ