• C#基础语法实例荟萃


    匿名类

    action = new UploadHandler(context, new UploadConfig()
    {
         AllowExtensions = Config.GetStringList("imageAllowFiles"),
         PathFormat = Config.GetString("imagePathFormat"), //设置上传图片的保存路径及文件名模板
         SizeLimit = Config.GetInt("imageMaxSize"),
         UploadFieldName = Config.GetString("imageFieldName")
    });

    delegate 传递匿名方法

    所谓的delegate 传递匿名方法

    //使用ThreadPool开启线程
    //无参数传递
    private void DoWork() {
        ThreadPool.QueueUserWorkItem(new WaitCallback(this.DoSomething));
    }
    private void DoSomething(object o) {
        MessageBox.Show("thread start");
    }
    //有参数传递
    private void DoWork() {
        ThreadPool.QueueUserWorkItem(new WaitCallback(this.DoSomething), "guozhijian");
    }
    private void DoSomething(object o) {
        MessageBox.Show(o.ToString());
    }
    //使用匿名方法更灵活,即使用delegate向WaitCallback出入匿名方法体 
    //即delegate + 一个没有名称方法(参数列表+方法体)
    private void DoWork() {
        string name = "guozhijian";
        ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object o){
            MessageBox.Show(name);
        }));
    }

    as和is 

    as与is做差不多的事情,类型显式强制转换。
    as操作符的工作方式与强制类型转换一样,只是它永远不会抛出一个异常——相反,如果对象不能转换,结果就是null。

    Object obj=new Object(); 
    ClassA a= obj  as ClassA;
    if(a!=null)  //在if判断a是否为null, 因为如果obj不兼容类型ClassA,as将返回null赋值给a
    {
    ...
    }

    ?? 

    ??  判断不为null,然后执行

    public PagedList(IEnumerable<T> allItems, int pageIndex, int pageSize)
    {
         PageSize = pageSize;
         var items = allItems as IList<T> ?? allItems.ToList();
         TotalItemCount = items.Count();
         CurrentPageIndex = pageIndex;
         AddRange(items.Skip(StartItemIndex - 1).Take(pageSize));
    }
    string result = (Cache[cacheKey] ?? "N").ToString();

     匿名数组字面值

    new[] { "Xxx" }
    string[] staticFileList = {
                     "index.html",
                     "news_list_jt.html",
                     "news_list_gs.html",
                     "news_list_yw.html",
                     "news_list_jiaojuguoqi.html"
    };
    staticFileList = new string[] { };
  • 相关阅读:
    VMware虚拟机安装红帽系统无法上网解决办法(转)
    二维指针的malloc内存分配(转)
    c语言中如何通过二级指针来操作二维数组
    如何把一个二维数组的地址赋给一个二维指针?
    二维数组及二维指针的传递及一些思考(转)
    js怎么让时间函数的秒数在页面上显示是变化的
    jquery 实现各种统计图网址
    WEB的相关知识总结
    JS同名方法,
    web components思想如何应用于实际项目
  • 原文地址:https://www.cnblogs.com/zhuji/p/5133230.html
Copyright © 2020-2023  润新知