【原创】 关于全局静态变量初始化
今天碰到个问题,直接上代码:
Class Program{private static string _str= "StringValue";private static Uri _uri = new Uri("http:\\localhost:333\api");static void Main (){}}
编译时遇到错误:
经过注释法(我自己起的名字)排查,错误出在 private static Uri _uri = new Uri("http:\\localhost:333\api"); 这行
没法看出问题所在,经过同事指导:可以在静态构造函数里初始化这个变量,加上Try...Catch,结果异常信息是:
Invalid URI: The Authority/Host could not be parsed
还有一点就是如果去掉 static 这个关键字编译时也不会报错,至于为什么还有待研究。
总结:1. 在程序一开始初始化静态变量,其实就是在静态构造函数里初始化。2. 最好不要在程序开始初始化静态变量,否则这种错误不容易排查。
转载于:https://www.cnblogs.com/successliwei/p/6244443.html
【原创】 关于全局静态变量初始化相关推荐
- 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别...
局部变量: 创建在栈区(向下生长),生命周期存在于当前作用域中. 创建时若未初始化,则为随机值. 全局变量: 创建在static区,生命周期一直存在. 创建时若未初始化,则为0. 静态局部变量 ...
- 多线程中局部静态变量初始化的陷阱
C++当中常常需要一个全局唯一的对象实例,这时候,我们就会想到单件模式.如何实现这一模式?全局变量当然是一个简单可行的方法,然而,这太丑陋.嗯,其实,丑陋倒也罢了,最严重的是它将引诱程序员滥用全局变量 ...
- 【转载】wpf绑定全局静态变量并且实现变更通知(mvvm)
这篇看了之后,很有启发,也很有用!,分享给大家 以下是转载内容. ---------------- 版权声明:本文为CSDN博主「returnTrue999」的原创文章,遵循CC 4.0 BY-SA版 ...
- java静态变量需要初始化吗_» Java静态变量初始化顺序浅谈
Java 类初始化顺序在网上已经有很多文章了,这里不再谈那么多,仅仅谈下Java静态变量的初始化顺序,如果你是Java高手,并且自认为对这个顺序已经掌握到了炉火纯青的境界,请忽视这篇文章. 前天看了Y ...
- 全局变量和全局静态变量
主要区别就是作用域:全局变量定义的变量可以被其他文件所看见(即可以被其他文件extern),全局静态变量的作用范围只限于本文件中. 关于在头文件中定义:在#include之后会在cpp文件中展开,相当 ...
- wpf绑定全局静态变量并且实现变更通知(mvvm)
在实际的开发中,有一些集合或者属性可能是全局的,比如当你做一个oa的时候,可能需要展示所有的人员,这时这个所有的人员列表显然可以作为全局参数,比如这里有一个全局的静态属性UserList.而你在使用m ...
- Java静态变量初始化时机
静态变量初始化方式: 1.声明时初始化: 2.静态块中初始化: 测试: package com.skymr.learn; /*** 静态变量初始化顺序测试* @author skymr**/ publ ...
- smali语言详解之static静态代码块的声明与静态变量初始化赋值位置
smali语言详解之static静态代码块的声明与静态变量初始化赋值位置 一.smali语言的静态代码块声明格式 .method static constructor <clinit>() ...
- c++ static 静态变量初始化
类中的静态变量应由用户使用类外的类名和范围解析运算符显式初始化 #include<iostream> using namespace std;class Apple {public:sta ...
最新文章
- 简述linux各个组成部分的定义及功能,Mariadb的架构及相关概念
- android 5.0 ios 8,iOS 8与Android 5.0大比拼:功能相同 体验不同
- OpenGL ES着色器语言之变量和数据类型
- python编程语言零基础入门-程序员大佬,给Python零基础入门书籍教程的一些建议!...
- 模板:半平面交(计算几何)
- xtend怎么使用_使用Xtend构建Vaadin UI
- 工作占用了太多私人时间_下班后还要被逼谈工作,我们应该如何处理?
- python怎么清屏_python实现清屏的方法 Python Shell中清屏一般有两种方法。
- MySQL for Java的SQL注入测试
- PHP+jQuery实现翻板抽奖
- Linux修改固定ip 地址,亲测有效
- RTKLIB-RTKPOST设置介绍
- 关于同一局域网中,获取的IP非本地真实IP的问题。
- 大疆图像算法面试流程
- 6、RocketMQ 源码解析之 Broker 启动(上)
- 【无敌浪子】python爬取足球赛事数据
- 【CSS】线性渐变、径向渐变
- 计算机组成原理江爱文,计算机组成原理
- SRS流媒体服务器:服务器读取RTMP推流数据
- 服务(service)-----本地服务