首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在D365/X++中,当我使用"this“表示变量存在于实例上时,为什么'(‘是无效的?

在D365/X++中,当使用"this"表示变量存在于实例上时,为什么"("是无效的?

在D365/X++中,"this"关键字用于引用当前对象的实例。它可以在类的方法中使用,表示对当前对象的引用。当使用"this"时,可以通过"."操作符来访问实例上的变量、属性和方法。

然而,"("是无效的,因为它是一个括号操作符,用于表示函数调用或表达式的分组。在D365/X++中,括号操作符不能直接用于"this"关键字后面,因为它会导致语法错误。

如果想要在D365/X++中使用括号操作符,可以将其用于函数调用或表达式的分组,而不是用于"this"关键字后面。例如:

代码语言:txt
复制
int result = (this.variable1 + this.variable2) * 2;

在上述示例中,括号操作符被用于将"this.variable1 + this.variable2"作为一个整体进行求值,并将结果乘以2。

总结起来,"this"关键字用于引用当前对象的实例,而"("是一个括号操作符,不能直接用于"this"关键字后面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Disruptor框架学习(2)--为啥这么快

可想而知,当我们遍历数组时候,CPU遍历第一个元素,与之相邻元素也会被加载到了缓存,对于后续遍历来说,CPU缓存中找到了对应数据,不需要再去内存查找,效率得到了巨大提升; 但是,多线程环境...但是,在内存布局,对象不仅包含了实例数据(long类型变量),还包含了对象头。对象头32位系统占用8字节,而64位系统占用16字节。...我们java程序,当多个线程修改两个独立变量时候,如果这两个变量存在于一个缓存行,那么就有很大概率产生伪共享。 这是为什么呢?...Java程序,对象在内存分布:对象头(Header),实例数据(Instance Data),对齐填充(Padding); 其中,对象头32位系统占用8字节,64位系统占用16字节;实例数据也就是我们平常是所用到基本类型和引用类型...;对齐填充对象在内存区域内补充,jvm要求对象在内存区域大小必须8整数倍,所以当对象头+实例数据和不是8整数倍,就需要用到对齐填充,少多少就填充多少无效数据; 综上所述,VolatileLong

93340

一顿操作猛如虎,一看结果还是 0,Rust 能避免 Go Bug?

早些时候我看到这样一条新闻,在谈到Linux内核与Rust关系,谷歌曾表示Rust现在已经准备好加入C语言,成为实现内核实用语言。...一个这也让我特别好奇方向,谷歌自己GO语言不香吗,为什么非要支持Moliza创造Rust?...S 共享 (Shared):该Cache line有效,数据和内存数据一致,数据存在于很多Cache。 I 无效 (Invalid):该Cache line无效。...y变量没有任何同步竞争机制,这时所有CPU都会发现有其它CPU拥有该变量,这时RemoteWrite操作会使CPU将自身高速缓存行状态再次置为I.也就是无效状态. 4.I状态数据不会被回写到内存...你没加锁,就提示这个变量使用中会出现问题,看到这我真是感觉Rust这门语言可就有点强了,用Rust编程犯错都很难。

49820

c++lambda表达式用法

2 lambda捕获块 2.1 捕获简单使用 第1节,我们展示了lambda语法形式,后面的形参和函数体之类都好理解,那么方括号里面捕获啥意思呢?...表示没有捕获任何变量,不为空,比如上面的lambAdd是以复制形式捕获变量x,而lambAdd2是以引用方式捕获x。...,这里得到了证明,c++struct和class除了有少许区别,其他都是一样,所以我们可以看到复制形式捕获实际一个包含int类型成员变量struct,引用形式捕获实际一个包含int&类型成员变量...标准c++规定,默认情况下,lambda表达式,对于operator()重载const属性,也就意味着如果以复制形式捕获变量不允许修改,看这段代码: #include <iostream...,而引用捕获则允许修改变量值,为什么呢,这里我理解,&x实际一个int*类型指针,所以我们可以修改x值,因为我们只是对这个指针所指向内容进行修改,并没有对指针本身进行修改,且与我们常规声明引用类型入参一样

1.7K30

内存避障前世今生

如果一个处理器将 1 存储变量 x ,而另一个处理器将 1 存储变量 y ,则事件序列为: x → 1 and then y → 1 y → 1 and then x → 1 (假设两者最初都为零...顺序一致世界,其他处理器看到顺序应该和第三个处理器一样,所有处理器应该都能看到一样事件队列。 多核处理器,很多事情可以同时发生,除非涉及内存访问。...参考上一篇实例内存避障fence(一)一个内存乱序实例可知,x86不提供多核场景下顺序一致性,但保证单核顺序一致性。 x86单核多指令队列也是乱序执行为什么能保证一致性? ....因为单核执行结果会有指令重拍,storebuffer严格FIFO,虽然执行时乱序,但输出一定有序。 注意ARM单核也没有顺序一致性保证。...3.5 实例:加入内存屏障解决问题 硬件 level 很难揣度软件这种前后数据依赖关系,因此往往无法通过某种手段自动避免这种问题,因而只有通过软件手段表示(对应也需要硬件提供某种指令来支持这种语义

58710

.NET 零开销抽象指南-hez2010

ref field 我们已经能够局部变量使用 ref 和 ref readonly 了,自然,我们就想要在字段使用这些东西。...int x) { X = ref x; // 错误 } } 同样,我们还可以局部变量配合 ref 或者 ref readonly 使用 scoped: Span<...当然,使用前提你有相关知识并且明确知道你干什么,不然很容易写出不安全代码,毕竟这里面大多数 API 就是 unsafe 。...因为 throw C# 隐含了不会返回含义,编译器遇到 throw 知道这个不会返回,也就不会因为 Throw 没有返回东西而报错: [DoesNotReturn] int Throw1(...唯一需要注意地方,由于 GC 可能会移动堆内存对象,所以使用指针操作 GC 堆内存对象前,需要先使用 fixed 将其固定: int[] array = new[] { 1, 2, 3,

56030

Java多线程-带你认识Java内存模型,内存分区,从原理剖析Volatile关键字

2.每个线程私有工作内存不能相互访问,这也就解释了为什么我们不能再一个方法访问另一个方法局部变量。...堆: Java堆(Java Heap)Java虚拟机所管理内存中最大一块。Java堆被所有线程共享一块内存区域,虚拟机启动创建。...需要注意一些: 对象所拥有的方法以及里面涉及到变量都存储栈里面,方法里面使用全局变量随着对象实例一起存储堆里面,方法中使用时候也是使用该全局变量副本....实例,对象,操作实例实际通过实例指针间接操作对象。多个实例可以指向同一个对象。...这就是为什么使用Volatile关键字来修饰线程间共享变量

41230

Java Volatile关键字

第二种缓存一致性协议中最出名IntelMESI协议,MESI协议保证了每一个缓存中使用共享变量副本都是一致,它大概意思,当CPU操作Cache数据,如果发现该变量一个共享变量,也就是说在其他...写入操作,发出信号通知其他CPU将该变量Cache line置为无效状态,其他CPU再进行该变量读取时候不得不到主内存再次获取。...有序性 所谓有序性指程序代码执行过程先后顺序,由于Java在编译器以及运行期优化,导致了代码执行顺序未必就是开发者编写代码顺序,比如: intx=10; int y =0; x++ ;...Reader线程本地工作内存init_ value 失效(反映到硬件就是CPUL1或者L2Cache Line失效)。...使用区别 volatile关键字只能用于修饰实例变量或者类变量。 synchronized关键字不能用于对变量修饰,只能用于修饰方法或者语句块。

52411

27 个问题,告诉你Python为什么这么设计

出于多种原因它被证明是非常有用。 首先,更明显显示出,使用方法或实例属性而不是局部变量。...函数体赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好通过语法实现(出于效率原因)。...换句话说,局部变量实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 为什么不能在表达式赋值?...如果在绑定到字符串名称允许使用这些方法,则没有逻辑理由使其文字不可用。 第二个异议通常是这样:“我实际告诉序列使用字符串常量将其成员连接在一起”。遗憾并非如此。...当你意外忘记或修改列表,这将产生程序一类难以跟踪错误。它还使一个重要字典不变量无效:d.keys() 每个值都可用作字典键。 将列表用作字典键后,应标记为其只读。

6.6K11

第一阶段-Java基础知识:【第二章 Java基础语法知识】

变量类型: · 局部变量 · 实例变量 · 类变量(静态变量) 局部变量:定义方法、构造方法、或者语句块变量 (生而带来 死而带去 只能活在自己世界) 只能在一定范围内使用变量,随着这个方法等结束变量也就无效了...实例变量:声明,但在方法、构造方法和语句块之外 实例变量对于类方法、构造方法或者语句块可见。一般情况下应该把实例变量设为私有。...通过使用访问修饰符可以使实例变量对子类可见 暂时在学习基础语法知识时候可以暂时忽略实例变量这部分内容,这部分内容主要被使用在面向对象部分,但是极其重要。...2.7 字符 字符指在计算机中所使用 字母、数字、汉字、和符号,表示用单引号包含在内。 例如: ‘5’ ‘R’ ‘。’...2.8 字符串 字符串由零个或者多个字符组成有限序列,它是编程中表示文本数据类型 字符串使用时候用双引号括起来 String并不是Java基本方法,而是一个类。

97621

27 个问题,告诉你Python为什么这么设计?

出于多种原因它被证明是非常有用。 首先,更明显显示出,使用方法或实例属性而不是局部变量。...函数体赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好通过语法实现(出于效率原因)。...换句话说,局部变量实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 为什么不能在表达式赋值?...如果在绑定到字符串名称允许使用这些方法,则没有逻辑理由使其文字不可用。 第二个异议通常是这样:“我实际告诉序列使用字符串常量将其成员连接在一起”。遗憾并非如此。...当你意外忘记或修改列表,这将产生程序一类难以跟踪错误。它还使一个重要字典不变量无效:d.keys() 每个值都可用作字典键。 将列表用作字典键后,应标记为其只读。

3.1K20

干货 | 27 个问题,告诉你 Python 为什么如此设计?

出于多种原因它被证明是非常有用。 首先,更明显显示出,使用方法或实例属性而不是局部变量。...函数体赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好通过语法实现(出于效率原因)。...换句话说,局部变量实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能在表达式赋值?...如果在绑定到字符串名称允许使用这些方法,则没有逻辑理由使其文字不可用。 第二个异议通常是这样:“我实际告诉序列使用字符串常量将其成员连接在一起”。遗憾并非如此。...当你意外忘记或修改列表,这将产生程序一类难以跟踪错误。它还使一个重要字典不变量无效:d.keys() 每个值都可用作字典键。 将列表用作字典键后,应标记为其只读。

2.6K20

Python官方二十七问,你知道个啥?

出于多种原因它被证明是非常有用。 首先,更明显显示出,使用方法或实例属性而不是局部变量。...函数体赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好通过语法实现(出于效率原因)。...换句话说,局部变量实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能在表达式赋值?...如果在绑定到字符串名称允许使用这些方法,则没有逻辑理由使其文字不可用。 第二个异议通常是这样:“我实际告诉序列使用字符串常量将其成员连接在一起”。遗憾并非如此。...当你意外忘记或修改列表,这将产生程序一类难以跟踪错误。它还使一个重要字典不变量无效:d.keys() 每个值都可用作字典键。 将列表用作字典键后,应标记为其只读。

2.5K20

干货 | 27 个问题,告诉你 Python 为什么如此设计?

出于多种原因它被证明是非常有用。 首先,更明显显示出,使用方法或实例属性而不是局部变量。...函数体赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好通过语法实现(出于效率原因)。...换句话说,局部变量实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能在表达式赋值?...如果在绑定到字符串名称允许使用这些方法,则没有逻辑理由使其文字不可用。 第二个异议通常是这样:“我实际告诉序列使用字符串常量将其成员连接在一起”。遗憾并非如此。...当你意外忘记或修改列表,这将产生程序一类难以跟踪错误。它还使一个重要字典不变量无效:d.keys() 每个值都可用作字典键。 将列表用作字典键后,应标记为其只读。

2.7K10

Python 核心设计理念27个问题及解答

出于多种原因它被证明是非常有用。 首先,更明显显示出,使用方法或实例属性而不是局部变量。...函数体赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好通过语法实现(出于效率原因)。...换句话说,局部变量实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能在表达式赋值?...如果在绑定到字符串名称允许使用这些方法,则没有逻辑理由使其文字不可用。 第二个异议通常是这样:“我实际告诉序列使用字符串常量将其成员连接在一起”。遗憾并非如此。...当你意外忘记或修改列表,这将产生程序一类难以跟踪错误。它还使一个重要字典不变量无效:d.keys() 每个值都可用作字典键。 将列表用作字典键后,应标记为其只读。

3.3K21

你不可不知JS面试题(第三期)

1、什么闭包?如图所示,闭包就是一个定义函数内部函数,其作用是将函数内部和函数外部连接起来。大家知道,作用域问题,就是函数内部定义变量称为局部变量,外部取不到值。...我们知道了闭包不仅可以拿到函数内部变量,还可以保存内部变量。...因为当我们执行for循环,setTimeout异步,所以每次等for循环加完,再执行setTimeout函数,一共执行5次。另一个原因因为使用了var声明。...循环体里index跟外部index存在于同一个作用域,相当于全局定义了一次。下面我们来使用let来声明一下。结果就不一样。...,同样分别打印0、1、2、3、4,在外部函数每次传入实参,也就是每次循环值index,作用到形参i,因为setTimeout为内部函数,每次都会记录值,然后打印出来。

15420

java并发线程实战(1) 线程安全和机制原理

,Java内存模型规定了所有的变量都存储主内存,每条线程还有自己工作内存(类似于CPU高速缓存),线程工作内存中保存了该线程使用变量到主内存副本拷贝,线程对变量所有操作(读取、赋值)都必须在工作内存中进行...处理器进行重排序时必须要考虑指令之间数据依赖性。 多线程环境中线程交替执行,由于编译器优化重排存在,两个线程中使用变量能否保证一致性无法确定结果无法预测。...JMM控制下,用volatile修饰变量在一定程度上不会进行重排序,这也从微观对volatile字段进行了一致性加强。...一般volatile主要用于相互之间不存在依赖关系语句中,上面x++例子之所以有问题,就是因为对x++操作一步操作结果相依赖。...既然保证了可见性,加上了volatile关键词,为什么还是无法得到正确结果: 原因count++,并非原子操作,count++等效于如下步骤: (1)、 从主内存读取count赋值给线程副本变量

36920

2023 跟我一起学算法:数据结构和算法-数组

什么数组? 数组存储连续内存位置相同变量类型项目的集合。它是最流行和最简单数据结构之一,通常用于实现其他数据结构。数组每个项目都从 0 开始索引。...这意味着,当我们有少量对象,我们可以使用普通变量(v1,v2,v3,..)。但如果我们想要存储大量实例,用普通变量来管理它们就变得很困难。数组想法一个变量表示许多实例.....结构元素可能会也可能不会存储连续位置,但数组元素会存储连续位置。 结构,可以实例化对象,而在数组则不可能实例化对象。 使用数组常见问题 为什么从数组获取值复杂度 O(1)?...当在 Java 中使用数组而不是列表当我们需要多维结构来存储数据,我们使用数组而不是列表,因为列表只能一维。 如果我们需要固定长度和静态分配,则使用数组而不是列表。...当需要更快地处理数据,可以使用数组而不是列表。 原始数据类型可以直接存储在数组,但不能存储列表,因此,我们使用数组而不是列表。

12940

python基础六

注意:我们导入模块,会现在本地文件查找该模块,再去系统变量查找也就是说如果我们将本地py文件命名修改成上篇文章任意一个,再去使用它就会报错。 如果我想要调用TestGetstr方法呢?...当我们导入Test下所有方法和变量如果我不想给Demo用该怎么办?...__init__文件: 我们使用pycharm软件创建一个包都会有一个__init__文件,当我们只导入包时候,会执行__init__文件,和上面的一个道理也就是说我们导入包和导入模块时候,都会有一个相当于加载事件...self: self变量,可以看作包含所有属性字典 *args:参数 实例参数会在__init__接收 类抽象,他只负责定义一些属性和功能,经过实例化之后变成对象。...反过来 import 一个模块过程就是一个实例过程 另:类可以当作一个属性传入到另一个类。 面向对象之封装,继承,多态 继承:#为什么继承?

59630

全网最通透“闭包”认知 · 跨越语言

当我们执行action,原始“x”已经脱离了它被引用时作用域环境,但是两次执行能输出2,3 说明它脱离原引用环境仍然能用。...源码追溯,委托继承自Delegate抽象类,Delegate类有个Target 属性(获取当前委托调用实例方法实例类) 。 至此可以猜想: 我们每次执行委托,实际执行某个匿名类实例方法。...追本溯源 闭包词法闭包简称,维基百科这样定义: “计算机编程,闭包词法环境绑定自由变量头等函数”。...自由变量匿名函数/lambda表达式中被引用变量,它不是函数参数也不是函数局部变量。...,注意,引用自由变量,并不是使用当时自由变量值。

60430

【C++】C++入门 — 类和对象初步介绍

C++,类(class)成员变量在内存布局需要遵循内存对齐规则,主要是出于以下几个关键原因: 性能优化:(主要原因) 访问未对齐内存地址某些硬件架构可能导致性能下降。...只能在“成员函数”内部使用 this指针本质“成员函数”形参,当对象调用成员函数,将对象地址作为实参传递给this形参。所以对象不存储this指针。...this指针存在于哪里? C++,this指针一个隐含、非静态成员函数内部可用特殊指针,它指向当前正在调用该成员函数对象实例。...因此,this指针实际存在于每个非静态成员函数执行上下文中,并且它始终指向当前调用该函数对象实例。 this指针可以为空吗?...,移动构造函数或移动赋值运算符,当源对象即将被移动(资源转移)后置为无效状态,也可能出现类似情况,但这不是this本身为空,而是对象即将变成无效状态。

9810
领券