• C#问题


    1.结构体里面是否可以有属性?

      可以有属性。实测代码以及截图。

    In C#, we can use the following statement to convert a string s to an integer num 124

      A.int num = Convert.ToInt32(s);

      B.int nym = Int32.Parse(s);

      C.int num = s.ToInt();(不可以)

      D.int num = int.Parse(s);(测试可以过)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Fraction
    {
        public struct StructTest
        {
            private int x;
            public int X
            {
                get { return x; }
                set { x = value; }
            }
            public StructTest(int _x)
            {
                x = _x;
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                StructTest str = new StructTest();
                str.X = 1;
                Console.WriteLine(str.X);
                string s = "123";
                int num1 = Convert.ToInt32(s);
                int num2 = Int32.Parse(s);
                //int num3 = s.ToInt();
                int num4 = int.Parse(s);
                Console.WriteLine("num1="+num1);
                Console.WriteLine("num2="+num2);
                //Console.WriteLine(num3);
                Console.WriteLine("num4="+num4);
                Console.Read();
            }
        }
    }

      Property 可声明在 class, struct, interface里!

      使用属性的好处:

        允许只读或者只写字段;

        可以在访问时验证字段;

        接口和实现的数据可以不同;

        替换接口中的数据。

      

    2.参数传递的方式:按值传递、按引用传递。没有按位置传递、没有按名称传递。

    3.LINQ查询:LINQ to Object, LINQ to XML, LINQ to ADO.NET 包括两种独立的技术: LINQ to DataSet 和 LINQ to SQL

    对于LINQ to Object可以查询数组等里面的数据;

    对于LINQ to SQL可以查询SQL能够查询的表中的数据;

    对于LINQ to XML可以查询XML文档的标签等;

    对于LINQ to DataSet可以查询DataSet中的数据;

    3.委托的形式

      f = delegate(int x){return x + 1;};

      f = x => x+1;

      

    测试代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Lambda
    {
        class Program
        {
            static void Main(string[] args)
            {
                int sum = 0;
                Func<int, int> f1 = x => 2 * x + 1;
                Func<int, int, bool> f2 = (x, y) => x > y;
                Func<string, int, string> f3 = (x, y) => x.Substring(y);
                Func<int, int> f4 = (x) => sum += x;
                Action a1 = () => { System.Console.WriteLine("HelloWorld"); };
                Action <int> a2 = (x) => { System.Console.WriteLine(x); };
                Action <bool> a3 = (x) => { System.Console.WriteLine(x); };
                Action<string> a4 = (x) => { System.Console.WriteLine(x); };
    
                for (int i = 1; i <= 10; i++ )
                {
                    f4(i);
                }
                a2(sum);
                a1();
                a2(f1(1));
                a3(f2(3, 5));
                a4(f3("Zhengpengfei", 5));
                System.Console.Read();
            }
        }
    }

    4.内嵌类型可以是类、结构、结构体、枚举、委托

      具体见PPT

    5.类与结构体、类与接口、重载(overloading)与重写(overriding)、虚方法与抽象方法、托管代码与非托管代码

      

    6.Constants can be declared static (True)

      在C#中const与static不能同时修饰变量;

    7.装箱boxing:值类型转换为引用类型;

      拆箱unboxing:引用类型转为值类型。

    8.An interface member is implemented or _inherited__from a base class

      接口的成员要么自己定义要么继承自父类。

      接口不能包含常量、字段、操作符、构造函数、析构函数、任何静态成员、方法的实现

    9.What is the difference between private assembly and public assembly?

      private assembly只能被一个应用程序使用、保存在应用程序目录中、不要求强命名、无法签名;

      public assembly可以被所用应用程序使用、保存在全局程序集中、必须有一个强命名、可以签名

      另外强命名包括四个部分:Assembly的命名、Assembly的版本号、Assembly的文化属性、Assembly的公钥。

    10.Which of the following are correct ways to pass a parameter to a attribute?

    1)       By value   2)by reference   3)by position     4)by name

    A 1 ,2      B 3,4     C 1,2,3,4     D1,2,3

  • 相关阅读:
    编写更好的jQuery代码
    自适应网页设计(Responsive Web Design)
    精选29款非常实用的jQuery应用插件
    C# lock用法实例
    伸展树
    平衡二叉树
    搜索二叉树
    后缀表达式转为中缀表达式
    翻转链表
    双端队列
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/5608900.html
Copyright © 2020-2023  润新知