Tag: 数组

运算符’==’不能应用于’char’和’string’类型的操作数

我正在研究一个自我导向的简单程序来练习到目前为止我学到的概念。 我的项目与国际象棋有关,在这种情况下特别是棋盘(列啊和第1-8行)。 要求用户提供特定棋子的当前位置,该棋子希望作为该列的字母输入,后跟该行的编号。 为了validation这一点,我首先要检查这个值是否输入为两个字符的字符串,否则输入的内容已经不正确。 然后我将输入的字符串转换为小写字符,然后将其与可接受的数组元素列表进行比较。 从搜索这个网站我得到的印象是,字符串将其字符存储为数组,并使用字符串的char属性,您将能够拉出第一个字符,从而将char与char进行比较。 我还没有在搜索中发现任何具体的内容,以便让我对正在发生的事情有一个很好的了解。 这是我遇到的最接近的选项,我觉得不适用于这种情况。 任何见解将不胜感激。 后面的代码会产生以下错误。 运算符’==’不能应用于’char’和’string’类型的操作数 private char[] gridColumns = new char[] { ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, }; private void createMoveButton_Click(object sender, RoutedEventArgs e) { // Assigns text box input to associated private fields this.gameId = this.gameIdTextBox.Text; this.playerId = this.playerIdTextBox.Text; this.gamePiece = this.gamePieceTextBox.Text; this.currentLocation = this.currentLocationTextBox.Text; […]

如何在C#2010.NET中创建控件数组?

我最近从Visual Basic 6迁移到C#2010 .NET。 在Visual Basic 6中,有一个选项可以通过更改它上面的“索引”来设置您想要使用多少个控件数组。 我想知道这是否可能在C#中,如果是这样的话,我将如何使用类来执行此操作: func fc = new func(); 但是在fc中只有一个数组,这可能吗? 更加明确, 当您加载像文本框或用户控件这样的控件时,Visual Basic 6在属性窗口中有一个“索引”选项,如果您将其更改为0,1等等,它将允许您使用全部那些索引,没有加载多个控件50次。 我认为这可能与arraylist有关,但我不完全确定。 谢谢你的帮助。

稍后在程序中调整C#中的数组大小

我不确定这是否可能在c#中,但我有一个变量定义 public partial class Form1 : Form {… … #region used variables public ulong[] logP = {0,0,0,0,0,0,0,0} …. .. 然后在程序中我希望有一个选项来调整程序中的大小,然后主例程将在它上面启动并进行一些计算 因为我喜欢用各种数字和数组大小进行测试,我希望有一个选项来调整数组的大小,对于每个测试(但是这个数组不是绑定到单个过程,它是一个需要resize的全局变量。 由于各个部分的整个程序都在使用这个数组,(在各种函数下)我应该如何使用这个部分 ulong [] sumP = new ulong[numericupdown.valeu]; 那么它会改变这个全局变量大小吗?

反转数组中的元素

我设置了一个数组,我想创建一个方法,返回一个反向元素的数组。 例如,如果有10个槽,则array1[9] = 6 ,那么array2[0] = 6 。 我想我必须返回一个数组 – 我该怎么做? 而且我不知道如何反转并添加到另一个数组。 谢谢! int[] arr = {43, 22, 1, 44, 90, 38, 55, 32, 31, 9}; Console.WriteLine(“Before”); PrintArray(arr); Console.WriteLine(“After”); Reverse(arr); Console.ReadKey(true); } static int[] Reverse(int[] array) { for (int i = array.Length; i < 1; i–) { int x = 0; array[i] = array[x++]; Console.WriteLine(array[i]); […]

将string 转换为int

哪个是在c#中int的数组[1,2,3]中转换字符串数组[“1”,“2”,“3”]的最快方法? 谢谢

在C#中,为什么数组上的Equals()方法只比较它们的引用,而不是它们的实际内容

在C# ,为什么Equals()方法总是通过比较引用而不是通过比较内容来检查两个arrays之间的相等性? 因此,所有在其实现中调用Equals()方法(很多)都不能像数组那样工作(它不会比较内容): 示例: int[] array1 = new[] {1, 2, 3, 4, 5, 6, 7, 8, 9}; int[] array2 = new[] {1, 2, 3, 4, 5, 6, 7, 8, 9}; var u = array1.Equals(array1); //true var v = array1.Equals(array2); //false var w = Array.Equals(array1, array2); //false var x = (new List(new int[][] { array1 })).Contains(array2); […]

如何在C#中对2D数组进行排序

我已经阅读了很多关于排序2D数组的post,但我仍然无法掌握它,所以我想知道是否有人可以给我一些建议…… 我有一个列出字母和数量的aray(我正在对一段文字进行频率分析)。 我已将这些数据读入矩形数组,需要先按最高频率对其进行排序。 到目前为止,这是我的代码: //create 2D array to contain ascii code and quantities int[,] letterFrequency = new int[26, 2]; //fill in 2D array with ascaii code and quantities while (asciiNo counter) { if (asciiNo == (int)encryptedText[index]) { letterCount++; } counter++; index++; } letterFrequency[(storeCount), (0)] = (char)(storeCount+66); letterFrequency[(storeCount), (1)] = letterCount; storeCount++; counter=0; index=0; letterCount = […]

C#中的reinterpret_cast

我正在寻找一种方法来重新解释byte []类型的数组作为一个不同的类型,比如short []。 在C ++中,这可以通过简单的转换来实现,但在C#中我没有找到实现这一目的的方法而不需要复制整个缓冲区。 有任何想法吗?

如何在c#中重塑数组

我在c#中有一个3D字节数组,我从位图中读取了这个数组: byte[w, h, 3] 将此数组重塑为2D(线性)forms的最简单,性能更友好的方法是什么? byte[w*h, 3] 换句话说,我想保持通道数(特征)但是呈线性形状(而不是方形) 让我试着说明输入和期望的输出: 输入: |(r1,g1,b1) (r2,g2,b2) (r3,g3,b3)| |(r4,g4,b4) (r5,g5,b5) (r6,g6,b6)| |(r7,g7,b7) (r8,g8,b8) (r9,g9,b9)| 注意arr [0,0,0] = r1,arr [0,0,1] = g1,arr [0,0,2] = b1等。 并输出: |(r1,g1,b1) (r2,g2,b2) (r3,g3,b3) (r4,g4,b4) (r5,g5,b5) (r6,g6,b6) …|

从字节数组运行程序

我有一个存储在字节数组中的程序。 是否有可能在C#中运行它?