• LINQ Introduction


    Microsoft is touting LINQ as a ‘‘groundbreaking innovation’’ that promises to ‘‘revolutionize the way
    developers work with data.’’ Like you, I was somewhat skeptical about these promises because similar
    comments have been funneled our way in the past, but these bold declarations would cause even the
    casual developer to stop and take notice.

    LINQ introducts queries(the concept of a query) as a first-class language construct in both C# and Visual
    Basic. No longer do you need to learn multiple technologies to query multiple data sources. It is a single
    query syntax for querying XML,SQL databases, ADO.NET DataSets, and other data sources.
    LINQ simplifies how you will now write queries. If you use C# or Visual Basic, you will be able to start
    writing LINQ queryies immediately because you know most of what you need. LINQ  is a set of features built
    into Visual Studio 2008 that incorporates tremendous query capabilities directly into the language syntax of
    Visual Basic and C#. This provides the benefits of IntelliSense, compile-time type checking, and debugging
    support. How could life get any better?

    LINQ to XML exposes two classes that help HLINQ integrate with XML:

    XElement and XAttribute.

    XElement class represents an XML element and is used in LINQ to XML to create XML element nodes or
    even to filter out the data you really care about.
    XAttribute class is a name/value pair associated with an XML element. Each XElement contains a list
    of attributes for that element, and the XAttribute class represents an XML attribute.

            static void Main(string[] args)
            {
    
                var xml = new XElement("Objects",
                        new XElement("Obj", "吴xx",new XAttribute("id","1"),new XAttribute("name","wcg") ),
                        new XElement("Obj", "啊xx")
                    );
                Console.WriteLine( xml.ToString() );
                string[] firstnames = { "Scott", "Steve", "Ken", "Joe", "John",
                                          "Alex", "Chuck", "Sarah" };
                var r = new XElement( "Friends",
                            from fn in firstnames
                            where fn.StartsWith("S")
                            select new XElement("Name", fn) );
    
                Console.WriteLine( r.ToString() );
                
                //DirectoryInfo disc=new DirectoryInfo("E:\\");
                //var directories = from dir in disc.GetDirectories()
                //              orderby dir.Name descending
                //              select new { dir.Name };
    
                //foreach (var item in directories)
                //{
                //    Console.WriteLine(item.Name);
                //}
                //-----------------------------------------------------
                //var procs = from proc in Process.GetProcesses()
                //            orderby proc.WorkingSet64 descending
                //            select new { proc.Id, proc.ProcessName, proc.WorkingSet64 };
                //foreach (var item in procs)
                //{
                //    Console.WriteLine("PID={0},PName={1},PMemoryAmount={2}",item.Id,item.ProcessName,item.WorkingSet64);
                //}
                //-----------------------------------------------------
    
    
                Console.ReadKey();
            }
    
  • 相关阅读:
    基于Python的人脸动漫转换
    let 与 var的区别
    【LeetCode】汇总
    【HDU】4632 Palindrome subsequence(回文子串的个数)
    【算法】均匀的生成圆内的随机点
    【LeetCode】725. Split Linked List in Parts
    【LeetCode】445. Add Two Numbers II
    【LeetCode】437. Path Sum III
    【LeetCode】222. Count Complete Tree Nodes
    【LeetCode】124. Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/wucg/p/1845193.html
Copyright © 2020-2023  润新知