Visual Basic.NET 的基本数据类型详解

需积分: 0 1 下载量 76 浏览量 更新于2024-07-13 收藏 156KB PPT 举报
"本资源主要介绍了VB.NET中的其他数据类型,包括字节(Byte)、布尔(Boolean)、日期(Date)和对象(Object)等。字节类型是无符号的1字节二进制数,取值范围0到255,等价于System.Byte。布尔类型用16位二进制数表示,True和False对应于非0值和0,等价于System.Boolean。日期类型使用64位整数表示日期和时间,支持从公元1年到9999年的日期,等价于System.DateTime。对象类型以32位地址存储对象引用,能引用任何数据类型的实例,等价于System.Object。此外,还提及了VB.NET的基本数据类型,如字符(Char)和字符串(String),以及整型和浮点数数据类型。" 在Visual Basic .NET (VB.NET)编程中,了解并熟练掌握基本数据类型至关重要。本章节重点讲解了几种重要的数据类型: 1. 字节(Byte):字节数据类型用于存储无符号的8位(1字节)数值,其取值范围是从0到255。在.NET框架中,它等同于System.Byte类型。这种类型常用于处理颜色代码、低级I/O操作或者需要小数值且不需要负数的场景。 2. 布尔(Boolean):布尔类型用于表示逻辑状态,即真(True)或假(False)。在内存中,它被存储为16位的数值,但实际值只有两种,即0代表False,非0代表True。在.NET中,对应的类型为System.Boolean。布尔类型在条件判断、逻辑运算中扮演重要角色。 3. 日期(Date):日期类型在VB.NET中用于表示日期和时间,它以64位整数的形式存储,可以表示从公元1年1月1日到9999年12月31日的日期,以及24小时内的任意时间。日期常以#号括起来的格式书写,如#2023-04-01#,并且会依据系统的日期和时间设置进行显示。日期类型等价于System.DateTime。 4. 对象(Object):对象类型是一种通用的数据类型,可以引用任何.NET框架中的类或接口实例。它以32位的地址存储,这意味着它是一个指向内存中对象的指针。通过Object类型,可以实现多态性,即一个Object变量可以指向不同类型的实例。对应的.NET类型为System.Object。 除了上述数据类型,还提到了字符(Char)和字符串(String): 5. 字符(Char):Char数据类型是一个单个的16位Unicode字符,用于存储任何Unicode字符。在.NET中,它等同于System.Char。 6. 字符串(String):字符串是由Unicode字符组成的序列,可以包含任何ASCII字符或扩展ASCII字符。字符串长度可以动态变化,从空字符串到大约21亿个字符。在VB.NET中,字符串用双引号 "" 包围。字符串类型等价于System.String。 数值数据类型包括整型和浮点数: - 整型:分为短整型(Short,16位,-32768到32767,等价于System.Int16)和整型(Integer,32位,-2147483648到2147483647,等价于System.Int32)。 - 浮点数:包括单精度浮点数(Single,32位,等价于System.Single)和双精度浮点数(Double,64位,等价于System.Double)。 理解这些基本数据类型及其特性对于编写有效的VB.NET程序至关重要,它们构成了程序处理数据的基础。此外,VB.NET还提供了变量声明、常量、类型转换、运算符和表达式等概念,这些都是编写高效、准确的代码所必需的。

#include "mylogin.h" mylogin::mylogin(QWidget *parent) : QDialog(parent) { this->init_ui(); connect(this->bnt_login, &QPushButton::clicked, this, &mylogin::do_login); connect(this->bnt_register, &QPushButton::clicked , this ,&mylogin::do_enroll); } mylogin::~mylogin() { } void mylogin::init_ui() { this->setFixedSize(QSize(600,350)); this->setWindowTitle(tr("岑超升")); this->setWindowIcon(QIcon(":/src/1.png")); this->lb1 = new QLabel(); this->lb2 = new QLabel(); this->lb3 = new QLabel(); this->lb1->setFixedSize(QSize(560,200)); QPixmap pic; pic.load(":/src/2.png"); //this->lb1->setPixmap(pic.scaled(this->lb1->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); this->lb1->setPixmap(QPixmap(":/src/2.png")); this->lb2->setText(tr("用户名:")); this->lb3->setText(tr("密 码:")); this->usr_name_le = new QLineEdit(); //这两个参数后面传入信号中去,然后emit发射出去 this->usr_pass_le = new QLineEdit(); this->usr_pass_le->setEchoMode(QLineEdit::Password); this->bnt_login = new QPushButton(tr("登 陆")); this->bnt_register = new QPushButton(tr("注 册")); this->hb1 = new QHBoxLayout(); this->hb2 = new QHBoxLayout(); this->hb3 = new QHBoxLayout(); this->hb1->addWidget(this->lb2); this->hb1->addWidget(this->usr_name_le); this->hb2->addWidget(this->lb3); this->hb2->addWidget(this->usr_pass_le); this->hb3->addWidget(this->bnt_login); this->hb3->addWidget(this->bnt_register); this->vb1 = new QVBoxLayout(); this->vb1->addWidget(this->lb1); this->vb1->addLayout(this->hb1); this->vb1->addLayout(this->hb2); this->vb1->addLayout(this->hb3); this->setLayout(this->vb1); } void mylogin::do_login() { emit sig_login(usr_name_le->text(), usr_pass_le->text()); //需要把这里输入的账号密码信息发送到myapp那去,用到的函数是emit //需要自定义一个信号,sig_login //这个槽函数能够发出信号 } void mylogin::do_enroll() { emit sig_enroll(); }解释每一行代码

2023-06-09 上传