随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万

//这是常规思路:
const
  arr: array[0..1] of Char = ('A','B');
begin
  ShowMessage(arr);                   {AB}
  ShowMessage(IntToStr(Length(arr))); {2}
end;

//没想到可以这样: const   arr: array[Boolean] of Char = ('A','B'); begin   ShowMessage(arr);                  {AB}   ShowMessage(IntToStr(Length(arr))); {2}   {访问元素}   ShowMessage(arr[False]);            {A}   ShowMessage(arr[True]);            {B}   {也可以这样访问}   ShowMessage(arr[Low(arr)]);        {A}   ShowMessage(arr[High(arr)]);        {B}   {但不能这样访问} //  ShowMessage(arr[0]); //  ShowMessage(arr[1]);   {但可以变通一下}   ShowMessage(arr[Boolean(0)]);      {A}   ShowMessage(arr[Boolean(1)]);      {B} end;
//同理, 这样也可以: const   arr: array[Byte] of Integer = (     1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,     30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,     56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,     82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,     106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,     126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,     146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,     166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,     186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,     206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,     226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,     246,247,248,249,250,251,252,253,254,255,256); begin   ShowMessage(IntToStr(arr[Low(arr)]));  {1}   ShowMessage(IntToStr(arr[High(arr)])); {256}   ShowMessage(IntToStr(Length(arr)));    {256} end;
//给这种用法来一个必要性的实例: const   BoolStr: array[Boolean] of string = ('False', 'True'); var   b: Boolean; begin   b := True;   ShowMessage(BoolStr[b]); {True}   b := not b;   ShowMessage(BoolStr[b]); {False} end;
posted on   万一  阅读(5114)  评论(6编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧


点击右上角即可分享
微信分享提示