首页 > 编程语言 >C#索引器demo

C#索引器demo

时间:2024-02-21 16:03:12浏览次数:21  
标签:return string 索引 C# demo column int row

//简单实例
public class MyClass { private string[] myArray = new string[5]; // 索引器 public string this[int index] { get { return myArray[index]; } set { myArray[index] = value; } } } public class Program { static void Main(string[] args) { MyClass myObject = new MyClass(); // 设置索引器的值 myObject[0] = "Hello"; myObject[1] = "World"; // 获取索引器的值 Console.WriteLine(myObject[0]); // 输出: Hello Console.WriteLine(myObject[1]); // 输出: World } } //多维数组实例 public class MyMatrix { private int[,] matrix = new int[3, 3]; // 索引器 public int this[string row, string column] { get { int rowIndex = GetRowIndex(row); int columnIndex = GetColumnIndex(column); return matrix[rowIndex, columnIndex]; } set { int rowIndex = GetRowIndex(row); int columnIndex = GetColumnIndex(column); matrix[rowIndex, columnIndex] = value; } } private int GetRowIndex(string row) { // 在此处根据行名返回相应的行索引 // 这里只是一个示例,您需要根据实际需求进行实现 if (row == "A") return 0; else if (row == "B") return 1; else if (row == "C") return 2; else throw new ArgumentException("Invalid row name"); } private int GetColumnIndex(string column) { // 在此处根据列名返回相应的列索引 // 这里只是一个示例,您需要根据实际需求进行实现 if (column == "X") return 0; else if (column == "Y") return 1; else if (column == "Z") return 2; else throw new ArgumentException("Invalid column name"); } } public class Program { static void Main(string[] args) { MyMatrix myMatrix = new MyMatrix(); // 设置索引器的值 myMatrix["A", "X"] = 1; myMatrix["B", "Y"] = 2; // 获取索引器的值 Console.WriteLine(myMatrix["A", "X"]); // 输出: 1 Console.WriteLine(myMatrix["B", "Y"]); // 输出: 2 } }

 

标签:return,string,索引,C#,demo,column,int,row
From: https://www.cnblogs.com/SmallChen/p/18025425

相关文章

  • [Rust] Char vs String
    usestd::path::PathBuf;useclap::Parser;#[derive(Parser,Debug)]#[clap()]pubstructOpts{pubargs:Vec<String>,#[clap(short='c',long="config")]pubconfig:Option<PathBuf>,#[clap(short='p'......
  • 探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架
    探秘SuperCLUE-Safety:为中文大模型打造的多轮对抗安全新框架进入2023年以来,ChatGPT的成功带动了国内大模型的快速发展,从通用大模型、垂直领域大模型到Agent智能体等多领域的发展。但是生成式大模型生成内容具有一定的不可控性,输出的内容并不总是可靠、安全和负责任的。比如当用户......
  • [转帖]nginx利用request_body记录POST body(location中用proxy_pass)
    https://www.cnblogs.com/freedom-try/p/14699538.html1.完整过程1.1在nginx.conf中http里面添加配置如下:http{ ... log_formatpostdataescape=json'$remote_addr-$remote_user[$time_local]"$request" '$status$bod......
  • c# 代码操作ftp服务器文件
    好久不见,我又回来了。给大家分享一个最近c#代码操作ftp服务器的代码示例 1publicabstractclassFtpOperation2{3///<summary>4///FTP服务器地址5///</summary>6privatestringftpServer;78///<s......
  • RxJS中高阶映射操作符的全面讲解:switchMap, mergeMap, concatMap (and exhaustMap)
    原文链接:https://blog.angular-university.io/rxjs-higher-order-mapping/有一些在日常开发中常用的RxJS的操作符是高阶操作符:switchMap,mergeMap,concatMap,以及exhaustMap。举个例子,程序中大多数的网络请求都是通过以上某个操作符来完成的,所以为了能够写出几乎所有反应式编程,必须......
  • appium inspector 连接安卓设备
    首先找到app的包名和activity。查看包名adbshell"dumpsyswindow|grepmCurrentFocus"查看包对应的activity,输入下面的命令,再找到cmpadbshellmonkey-pcom.jingdong.app.mall-vvv1启动appiumserver启动inspector,配置信息{"platformName":"Android","a......
  • subprocess中的return_code与poll
    subprocess中的return_code与pollp=subprocess.Popen('ping8.8.8.8',shell=True,stdout=subprocess.PIPE,stderror=subprocess.DEVNULL)whilenotp.poll():#p.poll()即为return_codeprint(p.stdout.read().decode())#return_code=p.poll()#......
  • USACO 2023 DEC bronze
    CandyCaneFeast第一题签到题,依题意模拟即可。注意细节,细节决定成败。CowntactTracing2贪心。读题奶牛传染,每个奶牛每晚传染左边和右边的奶牛。给定一个传染情况,求最开始最少有几个奶牛。我们记k为造成当前传染情况的传染天数。可以知道,传染的天数越多,被传染的牛就越......
  • encodeURI和encodeURIComponent的区别?
    在JavaScript中,encodeURI()和encodeURIComponent()是用于对URI进行编码的两个方法,它们可以将URI中的特殊字符进行转义,以便在URL中安全地传输和显示。encodeURI()方法用于对整个URI进行编码,除了常见的字符(字母、数字、-、_、.、!、~、*、'、(、))外,不会对其他字符......
  • 1 c++算法题解析-两个数之和
    //给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。//你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。//你可以按任意顺序返回答案。//示例1:////输入:nums=[2,7,......