نمایش نتایج 1 تا 5 از 5

نام تاپیک: معنی این علامت <> کنار اسم بعضی از توابع ؟

  1. #1

    معنی این علامت <> کنار اسم بعضی از توابع ؟

    سلام دوستان
    وقتتون بخیر
    جناب مایکروسافت منظورش از علامتهای <> کنار اسم یه سری از توابع سی شارپ چیه؟ تعدادشون هم اینروزا کم نیست!!
    مثلا <> select
    <> orderby
    و ....
    بعد جالبه موقع استفاده از اینا باید پرانتز بکار ببریم!

  2. #2

    نقل قول: معنی این علامت <> کنار اسم بعضی از توابع ؟

    اینها Type رو مشخص میکنند. مربوط به Generic هاست (در مورد جنریک ها باید بخونی و فقط با توضیح ساده نمیشه همه چی دستت بیاد.) شما این امکان رو دارید که جنریک ایجاد کنید و همچنین از کلاس و متد های داخلی خود مایکروسافت استفاده کنید.به طور مثال
    . شما به این طریق در زمان کامپایل نوع رو مشخص میکنید.

    class Book
    {
    public int Id { get; set; }
    public string BookName { get; set; }
    }




    public void ExampleMethod()
    {
    List<Book> bookType = new List<Book>();
    var res = bookType.Select(s => s.BookName == "F#‎" && s.Id == 1);
    }

  3. #3

    نقل قول: معنی این علامت <> کنار اسم بعضی از توابع ؟

    ممنونم از شما
    من با generics آشنایی دارم و بکار می برم توی برنامه هام ولی آخه ما که داخل این توابع, داریم lambda expression می نویسیم و نه تایپ....
    مثال خود شما هم در داخل پرانتز از lambda expression استفاده کردید. این چجور تایپی هست؟

  4. #4

    نقل قول: معنی این علامت <> کنار اسم بعضی از توابع ؟

    مشکلت با Generic نیست پس. تو با Experssion ها اشنایی نداری.
    در ضمن در مورد Func و Action و Predicate بخون.
    یه نمونه کد برات نوشتم کمی دستت بیاد که خودم میدونی همچین متدی رو بنویسی.
    در نهایت این دستورات لامبدا در متد های لینک به وفور هستن. اما در کل تو هم میتونی متدهایی رو پیاده سازی کنی از این قبیل رو ....

    using System;using System.Collections.Generic;
    using System.Linq;
    using System.Linq.Expressions;
    using System.Text;
    using System.Threading.Tasks;


    namespace Gneric
    {
    class Book
    {
    public int Id { get; set; }
    public string BookName { get; set; }
    public bool IsActive { get; set; }
    }
    interface ITestInterface<T>
    {
    IList<Book> Search(Func<T, bool> predicate);
    }


    class Program : ITestInterface<Book>
    {
    static IList<Book> lstBook = new List<Book>();


    static void Main(string[] args)
    {
    lstBook.Add(new Book { Id = 1, BookName = "C#‎", IsActive = true });
    lstBook.Add(new Book { Id = 2, BookName = "F#‎", IsActive = true });
    lstBook.Add(new Book { Id = 3, BookName = "Ruby", IsActive = false });


    Program p = new Program();
    var objOut = p.Search(s => s.IsActive == true);
    }


    public IList<Book> Search(Func<Book, bool> predicate)
    {


    var lst = lstBook.ToList();
    return lst.Where(predicate).ToList();


    }




    }


    }



  5. #5
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: معنی این علامت <> کنار اسم بعضی از توابع ؟

    کامپایلر سعی میکنه type رو حدث بزنه و فقط اگر نتونه شما رو مجبور میکنه اون رو مشخص کنید.
    توابع نیز میتوانند مانند کلاسها جنریک باشند و لزوما نباید همان type کلاس معرفشان را استفاده کنند.

        class myclass<T1>
    {
    public static void Main (string [] args)
    {
    myclass<int> myints = new myclass<int> ();
    myints.permute (new int [] { 3, -6, 9 }, new string [] { "a", "c", "r", "p" });
    }
    public void permute<T2> (IEnumerable<T1> t1s, IEnumerable<T2> t2s)
    {
    int index = 0;
    foreach (var t1 in t1s) {
    foreach (var t2 in t2s) {
    Console.WriteLine ("{0} T1:{1} T2:{2}", index++, t1, t2);
    }
    }
    }
    }



    $ mono ./test.exe 
    0 T1:3 T2:a
    1 T1:3 T2:c
    2 T1:3 T2:r
    3 T1:3 T2:p
    4 T1:-6 T2:a
    5 T1:-6 T2:c
    6 T1:-6 T2:r
    7 T1:-6 T2:p
    8 T1:9 T2:a
    9 T1:9 T2:c
    10 T1:9 T2:r
    11 T1:9 T2:p


تاپیک های مشابه

  1. معنی این خطاها رو نمیفهمم. میشه بگید مشکل از کجاست؟؟؟
    نوشته شده توسط سیدسبحان در بخش Android Studio
    پاسخ: 3
    آخرین پست: دوشنبه 18 آبان 1394, 17:10 عصر
  2. مبتدی: علامت underline (_) قبل از نام بعضی از توابع ؟
    نوشته شده توسط vasilopita در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: جمعه 04 شهریور 1390, 19:41 عصر
  3. معنی این علامت ها چیه ؟؟؟
    نوشته شده توسط mahdi68 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: یک شنبه 19 اردیبهشت 1389, 16:09 عصر
  4. چرا بعضی از توابع Api در ویندوز 2000 به بالا جواب نیمدن
    نوشته شده توسط mahdi_farhani در بخش برنامه نویسی در 6 VB
    پاسخ: 14
    آخرین پست: جمعه 13 شهریور 1383, 15:08 عصر
  5. اجرای بعضی از توابع Api در ویندوز Xp
    نوشته شده توسط mahdi_farhani در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: جمعه 06 شهریور 1383, 06:06 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •