小编pur*_*ppc的帖子

如何在不实际重载的情况下创建具有重载优势的函数?

这个项目有2个对象:RegionArea.

两个对象都有一个名为的方法

void load();
Run Code Online (Sandbox Code Playgroud)

这就是我想要的,不确定它是否可能:

Detail根据称为函数的对象调用具有类似实现的相同函数.

Detail函数将执行以下操作:

void Detail(parameter)
{
    object_name.load();
} 
Run Code Online (Sandbox Code Playgroud)

我不想为每个对象编写2个重载函数,因为那时我将有2个函数具有几乎相同的实现.

我试过了:

void Detail(string land)
{
    if(land=="region")
    {
        Region land = new Region();
    }
    else if(land=="area")
    {
        Area land = new Area();
    }        

    land.load();
} 
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为land.load()会导致错误,因为函数无法确定土地是一个Region还是一个Area对象.

c# asp.net-mvc overloading function

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

C#streamreader,分隔符.

我所拥有的是一个巨大的txt文件,60MB.我需要读取每一行并生成一个文件,基于分隔符进行拆分.我没有读取文件或生成文件的问题,我的复杂功能来自分隔符,它无法看到分隔符.如果有人可以就如何阅读该分隔符提出建议,我将非常感激.

delimiter =Ç

public void file1()
{
    string betaFilePath = @"C:\dtable.txt";
    StringBuilder sb = new StringBuilder();
    using (FileStream fs = new FileStream(betaFilePath, FileMode.Open))
    using (StreamReader rdr = new StreamReader(fs))
    {
        while (!rdr.EndOfStream)
        {
            string[] betaFileLine = rdr.ReadLine().Split('Ç');
            {
                sb.AppendLine(betaFileLine[0] + "ç" + betaFileLine[1] + betaFileLine[2] + "ç" + betaFileLine[3] + "ç" + betaFileLine[4] + "ç" + betaFileLine[5] + "ç" + betaFileLine[6] + "ç" + betaFileLine[7] + "ç" + betaFileLine[8] + "ç" + betaFileLine[9] + "ç" + betaFileLine[10] + "ç");
            } …
Run Code Online (Sandbox Code Playgroud)

c# streamreader

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

父类不包含带0参数的构造函数

我的Game类有两个参数,但由于某些原因,我编写的代码不起作用:

class Game
{
    string consoleName;
    int gameID;

    public Game(string name, int id)
    {
        this.consoleName = name;
        this.gameID = id;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的孩子班.

class RolePlayingGame : Game
{
    int level;
}
Run Code Online (Sandbox Code Playgroud)

c#

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

如何在组合框中使用大小写作为字符串的switch语句?

这就是我的组合框内的内容。

Runescape
Maplestory
League of Legends
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用switch语句的代码。

private void button1_Click(object sender, EventArgs e)
{
    switch (comboBox1.SelectedIndex)
    {
        case "Runescape":
            MessageBox.Show("You are playing RS");
            break;

        case "Maplestory":
            MessageBox.Show("You are playing MS");
            break;

        default:
            MessageBox.Show("You're playing League");
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误,那就是它不允许我将字符串隐式转换为int。

我想将案例用作字符串而不是数字。我怎么做?


同样,出于好奇,如果可行的话,我们可以代替一部分字符串。假装组合框说“ Runescape 3”而不是“ Runescape”。我不确定C#是否可以识别字符串的一部分。

case "Runescape":
        MessageBox.Show("You are playing RS");
        break;
Run Code Online (Sandbox Code Playgroud)

c# combobox switch-statement

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

如何检查另一个字符串中某个字符串的出现次数?

string containsCharacter = textBox1.Text;
string testString = "test string contains certain characters";
int count = testString.Split(containsCharacter).Length - 1;
Run Code Online (Sandbox Code Playgroud)

我最初从另一个人的问题的答案中删除了这个代码,但它似乎不适用于文本框.

我得到的错误:

The best overloaded method match for 'string.Split(params char[])' has some invalid arguments
Argument 1: cannot convert from 'string' to 'char[]'
Run Code Online (Sandbox Code Playgroud)

我更喜欢修复此代码,而不是使用LINQ之类的其他内容,但如果没有办法修复此代码,我会接受它.

c# string count

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

使用 LINQ 更新多行的多列

我正在使用实体框架来构建应用程序。

表待更新。

[Id] [CheckItemId]  [Checked]  [Comment]
1      100             1          abc
2      150             0          xyz
Run Code Online (Sandbox Code Playgroud)

班级:

public class CheckListRequest
{
    public int ID { get; set; }
    public bool IsChecked { get; set; }
    public string Comment { get; set; }
}

public static void UpdateCheckList(List<CheckListRequest> checkList){

}
Run Code Online (Sandbox Code Playgroud)

如何使用 LINQ 使用前端列表中的值更新表多列(例如(已检查、评论))?

c# linq

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

在c#中设置方法之间的延迟

我正在尝试运行四种方法,但每次方法运行之间,我希望程序等待一秒钟.这是代码,我真的不知道如何去做,谢谢你提前!

private void go_Click(object sender, EventArgs e)
{

    {
        while (GlobalVar.Direction == "down")
        { movedown();}
        while (GlobalVar.Direction == "up")
        {moveup();}
        while (GlobalVar.Direction == "right")
        {moveright();}
        while (GlobalVar.Direction == "left")
        {moveleft();}
    }
}
Run Code Online (Sandbox Code Playgroud)

c# delay

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

返回在try catch中创建的对象

执行以下操作并返回对象或null的最佳/正确方法是什么?

如果我在try/catch子句中声明返回Dictionary对象,它可能不会返回一个对象并因此而生成编译错误.但它应该至少返回一些东西,比如null?

public static Dictionary<string,string> myFunction()
{
    try {
        ...
        Dictionary<string,string> dict = new Dictionary();
    }

    catch {
        ...
    }

    return dict;
}
Run Code Online (Sandbox Code Playgroud)

我只是在try/catch之外实例化返回的对象,并在调用程序中测试返回的值/长度吗?

c# oop

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

如何检查数据库表中是否存在用户输入?

所以我有我的Weapons数据库.我的应用程序的工作方式是,如果用户在文本框中键入某些内容,我的程序将搜索该WeaponName表以查看它是否存在.

问题是当我使用这个Lambda/LINQ时,它不能将它用作bool值.

private WeaponEntities dbContext = new WeaponEntities();

if (dbContext.Weapons.Where(weapon => weapon.WeaponName == searchBox.Text))
{

}
Run Code Online (Sandbox Code Playgroud)

c# sql linq lambda dbcontext

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

为什么这个数组超出范围?

class Program
{
    static void Main(string[] args)
    {
        string[] deck = {"1?","2?","3?","4?","5?","6?","7?","8?","9?","10?","11?","12?","13?",
                     "1?","2?","3?","4?","5?","6?","7?","8?","9?","10?","11?","12?","13?",
                     "1?","2?","3?","4?","5?","6?","7?","8?","9?","10?","11?","12?","13?",
                     "1?","2?","3?","4?","5?","6?","7?","8?","9?","10?","11?","12?","13?"};

        string[] player = new string[26];
        string[] computer = new string[26];

        deck = Shuffle(deck);

        foreach (string d in deck)
        {
            Console.WriteLine(d);
        }

        Console.WriteLine(deck.Length);

        for (int i = 0; i < 26; i++)
        {
            player[i] = deck[i];
            Console.WriteLine(player[i]);
        }

        for (int j = 26; j < 52; j++)
        {
            computer[j] = deck[j];
            Console.WriteLine(computer[j]);
        }


    }

    static string[] Shuffle(string[] deck)
    {
        Random r = new Random();

        for (int …
Run Code Online (Sandbox Code Playgroud)

c# arrays indexoutofboundsexception

0
推荐指数
1
解决办法
172
查看次数