aardio 文档
aardio 范例: 在 aardio 中自动支持 .NET 泛型 - ValueTuple 示例
//在 aardio 中自动支持 .NET 泛型 - ValueTuple 示例
import console;
import dotNet;
/*
ValueTuple 要 .NET 4.7 以上才能支持( Windows 10 1703 开始自带.Net 4.7 )。
也可以自行下载 System.ValueTuple.dll 并通过 dotNet.reference() 函数引入,可支持 .NET 4.4 以及更新版本。
*/
import System.ValueTuple;
/*
创建 ValueTuple 对象,最多支持 8 个参数。
注意这是一个典型的泛型函数,aardio 可以通过参数类型自动匹配泛型函数。
*/
var tuple = System.ValueTuple.Create(
21,22,23,24,25,26,27,
dotNet.double(28)
/*
可选用以下函数明确声明参数类型:
dotNet.object,dotNet.byte,dotNet.ubyte,dotNet.word,dotNet.uword
,dotNet.int,dotNet.uint,dotNet.long,dotNet.float,dotNet.double
参考「 编译 / 类型」范例。
*/
);
console.log("查看对象类型",tuple.GetType())
/*
ValueTuple 最多只能有7个元素,
可使用字段 Item1, Item2, Item3, Item4, Item5, Item6, Item7 访问。
*/
console.log(tuple) //console.log 会自动调用 tostring(tuple)
console.log(tuple.Item1) //返回第 1 个元素的值
console.log(tuple.Item2) //返回第 2 个元素的值
tuple.Item7 = 123; //可以修改值,并不是只读的
console.log(tuple.Item7) //返回第 7 个元素的值
//那如果有第 8 个元素怎么办呢?通过 Rest 字段放到下一个 ValueTuple 里。
console.log(tuple.Rest) //调用 tostring(tuple.Rest)
console.log(tuple.Rest.Item1) //返回第 8 个元素的值
/*
实际上你没有必要使用超过 8 个元素的元组。
这世上任何事都有上限,有边界,没有无所不能。
*/
//遍历 tuple
for i,v in System.ValueTuple.each(tuple){
console.log(i,v);
}
console.pause();
/*
// ValueTuple C# 示例
namespace TestValueTuple
{
public class Class1
{
public static (double, int, int, int, int, int, int, int, int, int, int) tupleValue = (12.3, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22);
public static (double, int) GetTupleValue()
{
return (12.3, 22);
}
}
}
*/
Markdown 格式