这个词是什么"文字"的意思是,当在上下文中使用诸如文字串和字面价值?

之间的区别是什么文字值和价值?

有帮助吗?

解决方案

文字是"任何符号 代表 一个值内的源代码"(维基百科)

(与此形成对比 标识符, , 请参阅 值在存储器中。)

实例:

  • "hey" (a string)
  • false (a boolean)
  • 3.14 (a实际编号)
  • [1,2,3] (a列出的数字)
  • (x) => x*x (a function)
  • /^1?$|^(11+?)\1+$/ (a regexp)

有些东西不是文字:

  • std::cout (标识符)
  • foo = 0; (声明)
  • 1+2 (表)

其他提示

一个文字是已经直接硬编码到源的值。

例如:

string x = "This is a literal";
int y = 2; // so is 2, but not y
int z = y + 4; // y and z are not literals, but 4 is
int a = 1 + 2; // 1 + 2 is not a literal (it is an expression), but 1 and 2 considered separately are literals

一些文字可以有一个特殊的语法,所以你知道什么类型的文字是:

//The 'M' in 10000000M means this is a decimal value, rather than int or double.
var accountBalance = 10000000M; 

什么它们区别于变量或资源编译器可以将它们视为常数或执行与某些代码的优化在使用它们的,因为它是一定,他们将不会改变。

一个literal是分配到一个显式的值,例如

int i = 4;  // i is assigned the literal value of '4'
int j = i   // j is assigned the value of i.  Since i is a variable,  
            //it can change and is not a 'literal'

编辑:正如指出的那样,分配本身无关,与文字的定义,我用我的例子分配,但文字也可以传递给方法,等等。

一个文字是当你包括在源代码中的值(相对于参照的可变或恒定)。例如:

int result = a + 5; // a is a variable with a value, 5 is a literal

string name = "Jeff Atwood"; // name is a variable initialized
                             // with the string literal, "Jeff Atwood"

int[] array = new int[] {1, 2, 3}; // C# has array literals (this is actually three
                                   // int literals within an array literal)

如果文字表示一定的数量,就像一个物理常数,最好给它,而不是写相同的文字到处都需要一个名称。这样,当你正在阅读的源代码,你知道什么号码的表示的,通常是低于其价值(这可能改变反正)。

更重要
const int maxUsers = 100;
const double gravitationalAcceleration = 9.8;

一般来说,我使用的唯一数字文字(除了初始化像上面常数)为0或1,有时2如果我跳过在一个循环中每个其它项目。如果意数量的比更重要的它的实际的(通常是这样),它能够更好地命名。

一个文字值的值,而是一个值也可以被存储在变量中。在声明

string str = "string literal";

有一个字符串变量(STR)及字符串文字。在执行该语句之后它们都具有相同的值。

要知道,在许多语言的变量和文字值做一定甚至不必是同一类型。例如:

int a = 1.0;

上面的文字值是浮点型。该值将被编译器被强制装配到int变量。

对于另一示例,在一个字符串的类型上述C ++代码的第一行是不实际的库类型string可言。为了保持以C向后兼容性,在C ++字符串文字字符数组。

快速示例:

INT my_int_var = 723;

723 - 该字符集是指的字面整数值

my_int_var - 该字符集是指的可变整数值

一个文字是当你把它在代码中。所以文字串是

string s = "SomeText";

这是相对于构建串,或把它作为一个参数。

一般地,当某人使用单词字面他们的意思,如图中的许多其他职位实施例中的值是从码(文本)可辨认。

另一个常见用途是被转换为立即值在组件的值。这些是直接插入机器指令,而不是要求寄存器加载值。

我听到随便使用,是指什么 C#规格字符串文字实际上是指作为逐字字符串。规则字符串允许某些字符的转义(由前缀),如\ t表示一个标签。字面逐字字符串由@前置和逐字处理,\并无特别的意义。

//regular
string regular = "\thello world";
//verbatim
string verbatim = @"C:\";
//the regular equivalent of this would be "C:\\"

一个文字是“数据的源代码表示。”

字面是用于某些类型的语言认为如此重要或基本,它已专门语法糖只为它们的值的速记符号。

的类型,它们的值通常由文字表示的示例:

Boolean = { true, false }
Integer = { ..., -2, -1, 0, 1, 2, ... }
Character = { 'a', 'b', ... }
String = { "hello", "world", ... }

有些语言有即使对于功能 的文字类型:

Integer -> Integer = { (x: Integer) => x + 2), (x: Integer) => x/2, ...}

这通常不与文字表示的值的一个例子是 类类型的值:

Car(brand: String, seats: Integer) = { Car("BMW", 5), Car("Ferrari", 2), ...}

在这里,在式Car("BMW", 5)Car确实使用符号序列唯一地表示,但是,该值不使用专用的速记文字表示,而是使用一般用于表示任何类型的值(详细)名义机制

术语字面是与术语同义实例常数构件元素<一类/ em>的,而是带有一点的告诉我们有写下来的简写。额外的意义

我喜欢把有关文字作为相对于为了表示一个概念字符由字母表串在一起埃及象形文字。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top