小编Dmi*_*try的帖子

在构造函数中创建的对象变为null

我是一名新手程序员,我需要一些帮助来理解错误.我创建了一个对象,其中构造函数我创建了我的玩家.但是,只要我完成构造函数,所有在另一个内部的对象都是null.对象是否无法创建对象?如果不是,我如何设计我的程序,以便我可以从任何课程访问我的播放器对象.

class Program
{
    static void Main(string[] args)
    {
        Tablero tablero = new Tablero();
        tablero.test();    //now Tablero doesnt have player
        Console.ReadLine();
    }

    public class Tablero
    {
        Buscador busc1;
        public Tablero()
        {
            Buscador busc1 = new Buscador(50);
            //test();       same problem
        }
        public void test()
        {
            Console.Write(busc1.getPosX());
        }
    }

    public class Buscador
    {
        int posx;
        public Buscador(int posx)
        {
            this.posx = posx;
        }
        public int getPosX()
        {
            return posx;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# null object

2
推荐指数
1
解决办法
1070
查看次数

通过哈希码获取对象

我不明白为什么没有本机功能来做到这一点.假设我创建了以下类:

public class Student {
     public string Name {get; set;}
     public override int GetHashCode() {
         return(Name.GetHashCode());
     }
}
Run Code Online (Sandbox Code Playgroud)

之后,我创建了一个HashSet包含许多学生的人.现在我想让一个学生HashSet使用他的名字,这也是使用的哈希码,没有枚举.这可能吗?如果是的话,我该如何做到这一点?由于学生的名字被用作哈希码,这应该可以通过O(1)操作实现,对吧?

c# hash hashcode

2
推荐指数
1
解决办法
490
查看次数

创建没有复制和/或分配的子阵列

我是C#的新手,我想知道如何做到以下几点:

我创建了一个数组,其大小是我需要存储的最大元素数:

int[] myArray = new int[64000];
Run Code Online (Sandbox Code Playgroud)

我将此数组传递给第三方API.在此API中,它们使用该.Length属性来确定元素的数量.我不希望发生这种情况,因为数组长度是最大计数,而不是"活动计数"(即使用的元素数).

考虑到这一点,有没有办法创建另一个数组,其大小等于活动计数?而且,这可以在没有复制和/或分配的情况下完成吗?我已经拥有了已分配的内存 - 我想要做的就是在与第三方API完美匹配的同时指出感兴趣的子区域.

c# arrays

2
推荐指数
1
解决办法
688
查看次数

Excel工作表的错误

我正在编写一个程序来将数据写入现有的Excel文件.计划将新数据附加到旧数据,但现在我仍然试图访问特定的工作表.我在网上做了很多搜索,但没有一个人在我的网站上工作过.我仍然得到错误.希望有人能帮助我弄清楚我做错了什么.我有一个写入Excel的功能.我一直被困在线上来创建工作表对象.总是在这条线上得到错误.我尝试过不同的方式:

Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelWorksheets.get_Item(1);
Run Code Online (Sandbox Code Playgroud)

要么

Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelWorksheets.Worksheet[0];
Run Code Online (Sandbox Code Playgroud)

要么

Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelWorksheets.get_Item(1);
Run Code Online (Sandbox Code Playgroud)

要么

Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelWorksheets.get_Item(currentSheet);
Run Code Online (Sandbox Code Playgroud)

我尝试了许多不同的在线方式,但似乎没有一种方法适合我.

这是我的Excel代码的功能:

using Microsoft.Office;
using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
public void write_to_file(string lux_excel, string serialnumber_excel)
{
    Excel.Application excelapp = new Excel.Application();
    excelapp.Visible = true; //make the object visible
    Excel.Workbooks excelWorkbooks;
    Excel.Workbook excelWorkbook;

    excelWorkbooks = excelapp.Workbooks;

    object misValue = System.Reflection.Missing.Value;

    string fileName = @"C:\Designs\C_sharp_learn\chapter2\test_data.xlsx";
    excelWorkbook = excelWorkbooks.Open(fileName, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, …
Run Code Online (Sandbox Code Playgroud)

c# excel worksheet

2
推荐指数
1
解决办法
7467
查看次数

强制/要求方法的排序列表参数

假设已编写一个方法,该方法需要一个排序列表作为其输入之一。当然,这将在代码中进行注释和记录,参数将被命名为“sortedList”,但如果有人忘记了,就会出现错误。

有没有办法强制输入必须排序?我正在考虑创建一个带有列表和布尔值“排序”的新对象类,并且传递的对象必须是该对象,然后该方法立即检查“排序”布尔值是否为真。但我觉得必须有更好/标准的方法。

*这个方法是在循环中调用的,所以不想在方法内部进行排序。

c# sortedlist

2
推荐指数
1
解决办法
234
查看次数

如何获取与特定文件夹关联的图标?

我的一个项目要求我从路径中获取特定文件夹的图标。

例如:
如果我使用C:\Users\Username\Desktop我想获取与桌面文件夹关联的图标
如果我使用具有自定义图标的文件夹的路径,我想获取该图标

不,我不想要通用默认文件夹图标

我一直在寻找近 3 天没有运气。任何帮助表示赞赏。

c# directory pinvoke icons winforms

2
推荐指数
1
解决办法
3567
查看次数

选项卡索引不适用于单选按钮

这是我要问的形式的一部分

在此输入图像描述

这是标签索引:

在此输入图像描述

问题tab是从那里Farmer Audi StatusYes,然后到Ownder Bank Name而不是去No

请注意,是和否已经0.1.6.00.1.6.1分别.

请问你能帮帮我吗?

注意

两个单选按钮都有TabStop属性True

c# tabs radio-button winforms

2
推荐指数
1
解决办法
8076
查看次数

Range类的AutoFill方法失败

我在尝试使用C#自动填充excel时遇到"Range类失败的自动填充方法"COM异常.需要您的帮助才能解决此问题.因为我尝试了多种方法来实现它但失败了.

Microsoft.Office.Interop.Excel.Range oRange = null;
oRange = workSheet.get_Range("E7");
oRange.AutoFill(workSheet.get_Range("E130", "E131"));
Run Code Online (Sandbox Code Playgroud)

我用错误的方式调用它吗?

如果您有替代方案,请提出建议.

c# excel

2
推荐指数
1
解决办法
1332
查看次数

读取方法返回两倍实际存在的样本数

我有以下代码将音频文件的样本读入字节数组.

int signal_read = signal.Read(signal_sample, 0, signal_length);
MessageBox.Show(signal_read + "");
Run Code Online (Sandbox Code Playgroud)

哪个signalWaveFileReader类的对象.

MessageBox.Show始终显示从软件Audacity获取的实际样本数的两倍.

难道read方法无法返回读取的音频样本的数量?

c# audio naudio sampling

2
推荐指数
1
解决办法
82
查看次数

将字符串转换为整数数组

这是我的3个整数的字符串,我想将它存储在3个整数变量中,但我无法找到答案.

string orders = "Total orders are 2222 open orders are 1233 closed are 222";
Run Code Online (Sandbox Code Playgroud)

这就是我想要做的.

int total = 2222;
int close = 222;
int open = 1233;
Run Code Online (Sandbox Code Playgroud)

c#

2
推荐指数
1
解决办法
173
查看次数