C#结构对字段赋值的问题赋值的问题

问题描述

classProgram{staticvoidMain(string[]args){Pointp;Console.WriteLine(p);Pointp1=newPoint();Console.WriteLine(p1);Console.ReadKey();}}//定义结构structPoint{////定义时赋初始值,编译器会报错//privateintx;}

运行时打印结果如下:但是去掉结构中字段前的注释后,//定义结构structPoint{////定义时赋初始值,编译器会报错privateintx;}运行代码就会报错我知道要是在结构中定义字段,运行时,会调用默认的构造函数为字段赋初始值注释前和注释后,到底有什么区别,第一种为什么不报错,注释掉字段后为什么有报错了呢?

解决方案

解决方案二:
改成Pointp=newPoint();试试。
解决方案三:
语法就是这么规定的,私有字段不能直接初始化。http://msdn.microsoft.com/zh-cn/library/0taef578.aspx对于任何私有成员或以其他方式设置为不可访问的成员,只能在构造函数中进行初始化。
解决方案四:
你第二种里面有成员,当然要初始化,不然就报错了

时间: 2024-09-20 12:36:00

C#结构对字段赋值的问题赋值的问题的相关文章

asp.net水晶报表参数字段在代码中赋值的方法

  本文实例讲述了asp.net水晶报表参数字段在代码中赋值的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 // 声明将参数传递给查看器控件所需的变量. ParameterFields paramFields = new ParameterFields (); ParameterField paramField = new Parameter

java-mysql year字段如何利用hibernate赋值

问题描述 mysql year字段如何利用hibernate赋值 javabean: Class User{ java.sql .Date date;} hibernate:super.getHibernateTemplate().save(new User()); 现在有个String s="1990" 把s赋值给 User中的date 然后保存带mysql中的year字段中,year字段长度为4,万分感谢 解决方案 user.setdate(s); 你User的date和mysql

c语言结构体中指针数组怎样赋值

问题描述 c语言结构体中指针数组怎样赋值 定义一个结构体struct AS{ char *p[1]:}:怎样用gets函数给指针数组赋值呢? 解决方案 看Unix/Linux上的man: Standard C Library Functions gets(3C)NAME gets fgets - get a string from a stream SYNOPSIS #include char *gets(char *s); char *fgets(char *s int n FILE *str

oracle-如何将A表中的字段一的值赋值给B表中的字段一

问题描述 如何将A表中的字段一的值赋值给B表中的字段一 这是我编写的的 UPDATE poc.zjqx p SET (p.as_of_date) = ( SELECT (o.as_of_date) FROM poc.scqx o WHERE p.as_of_date = o.as_of_date 可是没有通过,该怎么搞,求指教 解决方案 oracle 如何将一个表的某个字段赋值给另一张表的某个字段将A表中某个字段的值赋给B表某个字段SQl 将A表中的字段Name的值更新到B表中 解决方案二: u

asp.net水晶报表参数字段在代码中赋值的方法_实用技巧

本文实例讲述了asp.net水晶报表参数字段在代码中赋值的方法.分享给大家供大家参考.具体实现方法如下: // 声明将参数传递给查看器控件所需的变量. ParameterFields paramFields = new ParameterFields (); ParameterField paramField = new ParameterField (); ParameterDiscreteValue discreteVal = new ParameterDiscreteValue (); P

请问工资管理等系统中的自定义工资结构表字段,以及编辑公式是怎么实现的?大概思路是怎样的?

问题描述 请问工资管理等系统中的自定义工资结构表字段,以及编辑公式是怎么实现的?大概思路是怎样的? 解决方案 解决方案二:你要用什么实现啊?是PHP吗解决方案三:该回复于2010-02-23 09:43:53被版主删除解决方案四:描述太简单了,无法领会楼主意思解决方案五:以sqlserver为例1.动态创建表,就是创建字段就在表里加一个字段,当然可以直接用中文,也可以建一个专门存字段中文和实际名称的关系表2.编辑公式,也很简单,直接用sqlserver的语法规则,比如:基本工资=日工资*36,传

c++-C++ 6.0结构体字段多重排序的函数指针

问题描述 C++ 6.0结构体字段多重排序的函数指针 C++对结构体数组进行排序,排序结果存在紊乱,库函数的函数指针怎么解决排序紊乱的问题? 解决方案 参考:http://blog.csdn.net/lethic/article/details/7781203 解决方案二: 运算符重载,大于号重新定义,然后直接sort 解决方案三: 需要定义使用结构体的哪个成员作为排序用的key,然后对该key定义小于运算符重载,进行排序.

go语言通过反射获取和设置结构体字段值的方法_Golang

本文实例讲述了go语言通过反射获取和设置结构体字段值的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: type MyStruct struct {         N int } n := MyStruct{ 1 } // get immutable := reflect.ValueOf(n) val := immutable.FieldByName("N").Int() fmt.Printf("N=%d\n", val) // prints

sql语句优化 传参-SQL语句传参赋值与直接赋值,为什么速度差那么远?

问题描述 SQL语句传参赋值与直接赋值,为什么速度差那么远? 传参的花了我30秒 直接赋值的花了不到一秒 求各位大神帮个忙解答一下,这条SQL语句必须要传参的,因为有很多不同的参数值,要怎么优化才好啊

php 赋值和引用赋值使用说明

1.值赋值:将赋值表达式的值复制到变量.例子:  代码如下 复制代码 $number=15; $age=20; $sum=12+"15";//$sum=27 2.创建数组有变量赋值和调用函数两种方法,这里先讲前者. 使用变量赋值方法很简单,直接给一个数组变量赋值即可. 实例:  代码如下 复制代码  <?php  $lang[]="php";  $lang[]="html";  $lang[]="css";  echo