MATLAB®自动将。net对象的数据转换为这些MATLAB类型。这些值显示在方法签名中。
c#。net类型 | MATLAB类型 |
---|---|
系统。Int16 |
int16 标量 |
系统。UInt16 |
uint16 标量 |
system.int32. |
INT32. 标量 |
系统。UInt32 |
uint32 标量 |
system.int64. |
int64 标量 |
system.uint64. |
uint64 标量 |
系统。单 |
单 标量 |
system.double. |
双倍的 标量 |
system.boolean. |
逻辑 标量 |
系统。字节 |
uint8 标量 |
系统。枚举 |
枚举 |
系统。字符 |
char |
系统。小数 |
系统。小数 |
系统。对象 |
系统。对象 |
系统。IntPtr |
系统。IntPtr |
system.uintptr. |
system.uintptr. |
系统。字符串 |
系统。字符串 |
system.nullable |
system.nullable |
系统。数组 |
|
系统.__ comobject.__ |
|
类名 |
类名 |
结构体名称 |
结构体名称 |
要将. net数组的元素转换为等效的MATLAB数组,请调用这些MATLAB函数。例如,请参见将原始.NET数组转换为MATLAB阵列.
将一个系统。字符串
对象到MATLAB字符串,使用字符串
函数。将一个系统。字符串
对象到MATLAB字符数组,使用char
函数。例如:
str =系统。字符串('创建一个system.string');MLSTR = string(str)
mlstr =“创建一个system.string”MLCR ='创建系统.String'
的字符串值系统。字符串
对象,而不是标准的对象显示。例如,类型:
一个=系统。字符串(“测试”)b = system.string.concat(a,“你好”,' 世界')
A = test b = test hello world
的系统。字符串
类演示了MATLAB如何处理字段和属性,如调用接受参数的。net属性.要查看关于该类的参考信息,请搜索术语系统。字符串
在。net框架类库中了解更多关于。net框架的信息.
的字符串
功能转换字符串。字符串
数组(string.string []
,字符串。字符串[,]
,eteteta)到matlab字符串
具有相同尺寸和大小的数组。例如,交错数组的转换string.string [][]
,不支持。金宝app
的系统.__ comobject.__
类型代表A.微软®com目的。这是一个不可见的公共课程mscorlib.
没有公共方法的程序集。在某些情况下,.NET对象返回系统.__ comobject.__
.MATLAB处理系统.__ comobject.__
基于元数据中定义的返回类型。
如果强烈打字方法或属性的返回类型,并且调用的结果是系统.__ comobject.__
,MATLAB会自动将返回的对象转换为适当的类型。
例如,假设您的组装定义了类型,TestType
,并提供一个方法,GetTestType
,并签名如下。
返回类型 | 的名字 | 争论 |
---|---|---|
netdoctest.testtype.RetVal |
GetTestType |
(NetDoctest.myClass这个) |
的返回类型GetTestType
强键入,.NET Framework返回类型的对象系统.__ comobject.__
.MATLAB自动将对象转换为合适的类型,netdoctest.testtype.
,如下所示伪代码:
cls = netdoctest.myclass;var = getTesttype(CLS)
var = testtype手柄,没有属性。
如果方法或属性的返回类型为系统。对象
,调用的结果是系统.__ comobject.__
,Matlab回归系统.__ comobject.__
.要使用返回的对象,将其投入有效类或接口类型。使用您的产品文档来标识此对象的有效类型。
要调用新类型的成员,使用MATLAB转换语法强制转换对象:
objConverted =命名空间.班级名称(obj)
在哪里obj
是一个系统.__ comobject.__
类型。
例如,一个项目微软Excel.®工作表收集可以是一个图表或工作表。下面的命令转换系统.__ comobject.__
多变的mySheet
到A.图表
或者工作表
对象单张报纸
:
单张报纸= Microsoft.Office.Interop.Excel。interfacename.(MySheet);
在哪里interfacename.
是图表
要么工作表
.例如,请参见使用Microsoft Excel电子表格使用.NET.
如果将COM对象传递给函数或从函数传递给它,则锁定该对象,以便当对象超出作用域时,MATLAB不会自动释放它。要锁定对象,请调用NET.disableAutoRelease
函数。然后解锁对象,使用NET.enableAutoRelease
函数,在您使用它之后。
如果。net返回系统。可以为空
类型,Matlab返回相应的系统。可以为空
类型。
一个系统。可以为空
类型允许你分配无效的
值为类型,例如数字类型,不支持金宝app无效的
价值。使用一个系统。可以为空
对象,首先决定如何处理无效的
值。
如果你想处理无效的
值不同于
值,使用HasValue
财产。
如果你想要每个值都是潜在的
,可以使用GetValueOrDefault
方法。此方法指定type的默认值
来无效的
值。
在任何MATLAB表达式中适当使用对象的底层类型的变量。有关示例,请参见pass system.nullable参数.
matlab处理动态类型系统。对象
.例如,以下C#方法examplemethod.
有一个动态输入参数d
并返回一个动态输出值:
public dynamicexampleemethod(动态d)
对应的MATLAB函数签名如下表所示。
返回类型 | 的名字 | 争论 |
---|---|---|
系统。对象RetVal |
examplemethod. |
( |
在MATLAB命令中使用。net锯齿数组之前,必须对其进行转换。转换:
如果阵列的形状为矩形,则使用相应的MATLAB数值函数。
如果数组不是矩形的,则使用细胞
函数。
如果交错数组是多维的,则必须分别转换每个维度中的数组。