0 امتیاز

سلام

با تشکر از سایت خوبتان

لطفاً در مورد قطعه کد زیر توضیح بدهید:

 


private Point p1, p2;
List<Point> p1List = new List<Point>();
List<Point> p2List = new List<Point>();

 

1 پاسخ

+1 امتیاز

سلام 

[ موضوع رو به لیست های جنریک و یا کالشن ها تغییر بدید]

دوست عزیزpoint یه سازنده یا کانستراکتور هست که از ساختار گررافیکی  کلاس draw استفاده میکند خطلاصه بگم همون نقطه هست که مختصات را ذخیره میکنه

مثال

static void Main()
    {
        // نقطه خالی
        Point point0 = new Point();
        Console.WriteLine(point0);
        Console.WriteLine(point0.IsEmpty);

        // ایجاد نقطه
        Point point1 = new Point(4, 6);
        Console.WriteLine(point1); // 4, 6

        // اندازه نقطه
        Size size = new Size(2, 2);

        // اضافه کردن سایز
        Point point3 = Point.Add(point1, size);
        Console.WriteLine(point3);

        // جدا کردن اندازه و نقطه
        Point point4 = Point.Subtract(point1, size);
        Console.WriteLine(point4); 

        // محاسبه ماکزیمم اندازه
        Point point5 = Point.Ceiling(new PointF(4.5f, 5.6f));
        Console.WriteLine(point5);

        // محیط
        Point point6 = Point.Round(new PointF(4.5f, 5.7f));
        Console.WriteLine(point6);

        // تکه تکه کردن اندازه مشابه بافر کردن بسته
        Point point7 = Point.Truncate(new PointF(4.7f, 5.8f));
        Console.WriteLine(point7); 
    }
}

خروجی

{X=0,Y=0}
True
{X=4,Y=6}
{X=6,Y=8}
{X=2,Y=4}
{X=5,Y=6}
{X=4,Y=6}
{X=4,Y=5}

قسمت2

List<Point>

اینم همون لیست های جنریک هست 

این کلاس مجموعه گروهی از کلاس هایی هستن که به طور خاص برای گروه بندی اشیاء و انجام وظایف بر روی آنها طراحی شده است. کلاس لیست مجموعه ای است که در فضای نام System.Collections.Generic تعریف شده است و روش ها و خواص مشابه کلاس های مجموعه ای مانند افزودن، قرار دادن، حذف، جستجو و غیره را فراهم می کند. این جایگزینی برای آرایه ها، لیست های مرتبط، صف ها و بیشترین دیگر ساختارهای داده یک بعدی. این به این دلیل است که دارای انواع قابلیت های اضافی، از جمله توانایی رشد در اندازه بر روی درخواس کاربر هست

خلاصه->Generic List collection مانند یک آرایه است.شما یک لیست تعریف می کنید ، داده های آن را مقدار دهی و پر می کنید و سپس با انجام این امور می توانید به اعضای موجود در آن دسترسی پیدا کنید.

 

یه مثال ساده برای اینکه متوجه بشید از همین راستا ولی نه point --یه مثال دیگه

 List < string > colors = new List < string > ();

            //اضافه کردن رنگ ها به کالکشن
            colors.Add("Red");
            colors.Add("Blue");
            colors.Add("Green");

            //دزج یه رنگ 
            colors.Insert(1, "violet");

            
            foreach (string color in colors)
            {
                MessageBox.Show(color);
            }


List<int> iList = new List<int>();
iList.Add(2);
iList.Add(3);
iList.Add(5);
iList.Add(7);

میبینید از نوع اینت هست که شما point رو نمونه گذاشتید

خب حالا نوبت به کدها شماست نمونش اینطوری میشه

میبیندی که مختصات بصورت کالکشن به برنامه اضافه شده البته این کنسوله میشه از وروی  کاربر گرفت

 

 

 List<Points> pointsOfList =  new List<Points>(){
            new Points() { x = 9, y = 3},
            new Points() { x = 4, y = 2},
            new Points() { x = 1, y = 1}
        };

        foreach (var points in pointsOfList.OrderBy(p => p.x))
        {
            Console.WriteLine(points.ToString());
        }

        Console.ReadKey();

و یه مثال با اجرا

 

 

 

class Program
{
    static void Main(string[] args)
    {    
        List<Points> pointsOfList =  new List<Points>(){
            new Points() { x = 9, y = 3},
            new Points() { x = 4, y = 2},
            new Points() { x = 1, y = 1}
        };

        foreach (var points in pointsOfList.OrderBy(p => p.x))
        {
            Console.WriteLine(points.ToString());
        }

        Console.ReadKey();
    }
}

class Points
{
    public int x { get; set; }
    public int y { get; set; }

    public override string ToString()
    {
        return string.Format("({0}, {1})", x, y);
    }
}

 

یکی دیگه

 


            Point point1 = new Point(10, 5);

            
            Point point2 = new Point();

           
            Boolean areNotEqual;

          
            point2.X = 15;
            point2.Y = 40;

           
            areNotEqual = (point1 != point2);

           Console.WriteLine(areNotEqual);

خروجی این برنامه 
True

 

سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...