.net 泛型简单应用

①Dictionaryと「自定義クラス」

C#.net:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{

    public partial class Form1 : Form
    {
        Dictionary<Guid, MyClass> list = new Dictionary<Guid, MyClass>();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            MyClass iniData = new MyClass();
            iniData.F1 = "aaaaaa";
            iniData.F2 = "1";
            iniData.F3 = "2";
            iniData.F4 = "3";

            MyClass iniData2 = new MyClass();
            iniData2.F1 = "bbbbbb";
            iniData2.F2 = "11111";
            iniData2.F3 = "22222";
            iniData2.F4 = "33333";
            list.Add(Guid.NewGuid(), iniData);
            list.Add(Guid.NewGuid(), iniData2);

        }

        private void button1_Click(object sender, EventArgs e)
        {

            foreach (var item in list)
            {
                Console.WriteLine(item.Key.ToString());
                Console.WriteLine(item.Value.F1);
                Console.WriteLine(item.Value.F2);
                Console.WriteLine(item.Value.F3);
                Console.WriteLine(item.Value.F4);
            }

            //var aa = list.Where(p => p.Value.F4 == "33333").ToList() ;
            //Console.WriteLine(aa);
        }
    }

    public class MyClass
    {
        //public string F1;
        //public string F2;
        //public string F3;
        //public string F4;

        public string F1 { get; set; }//自動プロパティ
        public string F2 { get; set; }
        public string F3 { get; set; }
        public string F4 { get; set; }
    }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

VB.net:

Public Class Form16
    Dim list As New Generic.Dictionary(Of Guid, MyClass)
    Private Sub Form16_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim iniData As New MyClass()
        iniData.F1 = "aaaaaa"
        iniData.F2 = "1"
        iniData.F3 = "2"
        iniData.F4 = "3"
        Dim iniData2 As New MyClass()
        iniData2.F1 = "bbbbbb"
        iniData2.F2 = "11111"
        iniData2.F3 = "22222"
        iniData2.F4 = "33333"

        list.Add(Guid.NewGuid, iniData)
        list.Add(Guid.NewGuid, iniData2)

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each item As KeyValuePair(Of Guid, MyClass) In List
            Console.WriteLine(item.Key.ToString)
            Console.WriteLine(item.Value.F1)
            Console.WriteLine(item.Value.F2)
            Console.WriteLine(item.Value.F3)
            Console.WriteLine(item.Value.F4)

        Next
    End Sub
End Class

' 自定义类
Public Class MyClass
    ' Public F1 As String
    ' Public F2 As String
    ' Public F3 As String
    ' Public F4 As String

    Property F1 As String '自動プロパティ
    Property F2 As String
    Property F3 As String
    Property F4 As String
End Class

' 输出结果
b6156160-790a-401e-800e-b7fab2aa36ca
aaaaaa
1
2
3
78d019f8-a866-42d6-8d35-fc8f8c11ef18
bbbbbb
11111
22222
33333

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

②①Listと「自定義クラス」

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WFGeneric
{
  

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        List<MyClass> myList = new List<MyClass>();

        private void Form1_Load(object sender, EventArgs e)
        {
            MyClass myCls = new MyClass();
            myCls.f1 = "カラム1";
            myCls.f2 = "カラム2";
            myCls.f3 = "カラム3";
            myList.Add(myCls);
            myCls = new MyClass();
            myCls.f1 = "カラム4";
            myCls.f2 = "カラム5";
            myCls.f3 = "カラム6";
            myList.Add(myCls);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            List<MyClass>  aa =myList.ToList<MyClass>().Where(p => p.f1 == "カラム1" || p.f1== "カラム4"  ).ToList() ;

            foreach (var item in aa)
            {
                var bb = item.f1 + Environment.NewLine + item.f2 + Environment.NewLine + item.f3;
                MessageBox.Show(bb);
            }
        }
    }
   
    public class MyClass
    {
        public string f1 { get; set; }
        public string f2 { get; set; }
        public string f3 { get; set; }
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值