扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
C#语言中数据类型可分为两大类:值类型和引用类型。
创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元邯山做网站,已为上家服务,为邯山各地企业和个人服务,联系电话:028-86922220
值类型包括:基本数据类型(int,long,float,char,bool)、枚举类型(enum)、结构类型(struct);
引用类型包括: 类、接口、数组。
从你说的“a和b就像是一个对象”可以得出:a和 b都是引用类型。 为什么会有“a和b就像是一个对象”
这样感觉呢? 这是因为值类型变量和引用类型变量在内存中的存储方式不同,值类型变量是对数据的直接
拥有,而引用类型变量只是通过地址对数据的拥有(即:不是实际拥有)。 建议提问者首先了解两类变量
的存储机制,这样可以更好的帮助你理解问题。
下面给出代码,帮助你理解
// 值类型变量
public static void Main(string[] args)
{
int a = 5;
b = a; // 需要关键理解的地方
b = 10;
Console.WriteLine(b); // 打印输出 10
Console.ReadLine();
}
// 引用类型变量
public static void Main(string[] args)
{
Student stu1 = new Student();
Student stu2 = new Student();
stu1.Name = "周杰伦";
stu2 = stu1; // 需要关键理解的地方!!!
stu2.Name = "方文山";
Console.WriteLine(stu1.Name); // 打印输出 方文山
Console.ReadLine();
}
Dim obj As Object, objName As String, i As Integer
i = 0
For Each obj In Me.Controls '枚举窗体所有控件
Debug.Print TypeName(obj)
If TypeName(obj) = "TextBox" Then '判读是否为文本框
i = i + 1
objName = obj.Name '获取文本控件名称,这里可以根据名称来判读赋值,也可以根据其他属性复制
obj.Text = "文本" i '文本框赋值
End If
Next
把变量定义时增加Shared关键字即可.如:
Private
Shared
AAA
As
String
Public
Shared
AAA
As
String
......
这样AAA在一个应用程序里就是公用的.
------------------------------------------------------
补充:
不可能没用,我都是这样做的.
该控件使用中,自己看吧:
Public
Class
CMB_MemoryTextBox
Inherits
TextBox
#Region
"
变量定义
"
Private
Shared
p_HisData
As
STRU_DATA
'用数据表保存所有控件的历史记录
Private
Shared
p_FileName
As
String
'保存历史记录的文件名
......
Dim mycon As New SqlConnection(connstrs)
Dim sqlStr As String = "SELECT * FROM [Column] FROM [Table]"
Dim cmd As New SqlCommand(sqlStr, mycon)
Dim reader = cmd.ExecuteReader()
Dim i As Integer = 1
While reader.Read()
Dim txt As New TextBox()
txt.Name = "txt" + i
txt.Size = New Size(100, 20) '文本框大小
txt.Location = New Point(50, i * 20 + 20)'left:50 top:随便写的,自己看着调
txt.Text = reader.GetValue(0).ToString()
Me.Controls.Add(txt) 'Me 可以改为你要添加上去的对象
End While
'未经过运行,自己调试看看能否OK
采用对象数组的办法;
声明一个文本框对象组,然后再启动窗体过程中,完成一一对应:
Public Class Form1
Private MyTextBox(10) As TextBox
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MyTextBox(1) = TextBox1 : MyTextBox(2) = TextBox2 : MyTextBox(3) = TextBox3 : MyTextBox(4) = TextBox4 : MyTextBox(5) = TextBox5
MyTextBox(6) = TextBox6 : MyTextBox(7) = TextBox7 : MyTextBox(8) = TextBox8 : MyTextBox(9) = TextBox9 : MyTextBox(10) = TextBox10
End Sub
End Class
这样就可以用循环对MyTextBox(1) -- MyTextBox(10),进行处理了,其结果就是对10个文本框控件的处理操作。
VB.NET中的变量在使用前要进行声明。即便不进行显式声明,VB也会进行隐式声明。
本题中应该这样使用:
Dim a1 As String = TextBox1.Text
System.Diagnostics.Process.Start("IExplore.exe", a1)
变量是存储值的名称。可使用变量来存储数字,例如建筑物的高度,或者存储单词,例如人的名字。简单地说,可使用变量表示程序所需的任何信息。
你可能会问:“既然我可以使用信息,为什么要用变量?” 正如其名称所表示的,变量可以随着程序的运行而改变其表示的值。例如,您可以写一个程序来跟踪桌子上罐里的软心豆粒糖的数目。因为糖是要被吃掉的,所以罐里软心豆粒糖的数目可能会随着时间的推移而改变。您可以使用一个可随时间变化的变量来表示软心豆粒糖的数目,而无需在每次想吃糖时重新编写程序。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流