C#Linq 方法返回值

1、数据查询

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

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            MQ meq = new MQ();
            int[] ints = { 0, 3, 5, 7, 4, 2, 6, 1, 8, 9 };
            //从方法中返回查询(返回值形式)
            IEnumerable<string> qstring = meq.QueryMethod(ref ints);
            foreach (string item in qstring)
            {
                // Console.WriteLine(item);
            }

            //从方法中返回查询(out形式)
            IEnumerable<string> myQuery2;
            meq.QueryMethod2(ref ints, out myQuery2);
            foreach (var item in myQuery2)
            {
                // Console.WriteLine(item);
            }


            List<Blog> packages =
       new List<Blog>
           {
              new Blog { BlogId = 122, Url="wwnlell"},
              new Blog { BlogId = 234, Url="drr" },
              new Blog { BlogId = 456, Url="wcx" },
              new Blog { BlogId = 799, Url="ujm" }
           };
            Dictionary<string, Blog> dic = packages.ToDictionary(p => p.Url);

            foreach (KeyValuePair<string, Blog> kby in dic)
            {
                // Console.WriteLine( "key={0} value={1}  url={2}",kby.Key,kby.Value,kby.Value.Url);
            }

            double d = ints.Average();
            //Console.WriteLine(d);

            StudentClass stu = new StudentClass();
            var query3 = from studnet in stu.students
                         group studnet by studnet.LastName into newGroup
                         orderby newGroup.Key
                         select newGroup;
            foreach (var item in query3)
            {
                Console.WriteLine(item.Key);
                foreach (var s in item)
                {
                  //  Console.WriteLine($"{s.LastName}++{s.FirstName}");
                }
            }
        }
    }

    public class MQ
    {
        public IEnumerable<string> QueryMethod(ref int[] ints)
        {
            var intsString = from i in ints
                             orderby i descending
                             where i > 1
                             select i.ToString();
            return intsString;
        }

        public void QueryMethod2(ref int[] ints, out IEnumerable<string> rq)
        {
            var intsString = from i in ints
                             orderby i descending
                             where i > 5
                             select i.ToString();
            rq = intsString;
        }
    }

    public class StudentClass
    {
        #region data
        public enum GradeLevel { FirstYear = 1, SecondYear, ThirdYear, FourthYear };
        public class Student
        {
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public int ID { get; set; }
            public GradeLevel Year;
            public List<int> ExamScores;
        }

        public  List<Student> students = new List<Student>
    {
        new Student {FirstName = "Terry", LastName = "Adams", ID = 120,
            Year = GradeLevel.SecondYear,
            ExamScores = new List<int>{ 99, 82, 81, 79}},
        new Student {FirstName = "Fadi", LastName = "Fakhouri", ID = 116,
            Year = GradeLevel.ThirdYear,
            ExamScores = new List<int>{ 99, 86, 90, 94}},
        new Student {FirstName = "Hanying", LastName = "Feng", ID = 117,
            Year = GradeLevel.FirstYear,
            ExamScores = new List<int>{ 93, 92, 80, 87}},
        new Student {FirstName = "Cesar", LastName = "Garcia", ID = 114,
            Year = GradeLevel.FourthYear,
            ExamScores = new List<int>{ 97, 89, 85, 82}},
        new Student {FirstName = "Debra", LastName = "Garcia", ID = 115,
            Year = GradeLevel.ThirdYear,
            ExamScores = new List<int>{ 35, 72, 91, 70}},
        new Student {FirstName = "Hugo", LastName = "Garcia", ID = 118,
            Year = GradeLevel.SecondYear,
            ExamScores = new List<int>{ 92, 90, 83, 78}},
        new Student {FirstName = "Sven", LastName = "Mortensen", ID = 113,
            Year = GradeLevel.FirstYear,
            ExamScores = new List<int>{ 88, 94, 65, 91}},
        new Student {FirstName = "Claire", LastName = "O'Donnell", ID = 112,
            Year = GradeLevel.FourthYear,
            ExamScores = new List<int>{ 75, 84, 91, 39}},
        new Student {FirstName = "Svetlana", LastName = "Omelchenko", ID = 111,
            Year = GradeLevel.SecondYear,
            ExamScores = new List<int>{ 97, 92, 81, 60}},
        new Student {FirstName = "Lance", LastName = "Tucker", ID = 119,
            Year = GradeLevel.ThirdYear,
            ExamScores = new List<int>{ 68, 79, 88, 92}},
        new Student {FirstName = "Michael", LastName = "Tucker", ID = 122,
            Year = GradeLevel.FirstYear,
            ExamScores = new List<int>{ 94, 92, 91, 91}},
        new Student {FirstName = "Eugene", LastName = "Zabokritski", ID = 121,
            Year = GradeLevel.FourthYear,
            ExamScores = new List<int>{ 96, 85, 91, 60}}
    };
        #endregion
    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值