小编Mig*_*oom的帖子

继承抽象类 - 选择模式

我有抽象类,它是:

public abstract class Ingredient 
{
    private string name;
    private decimal price;

    public Ingredient(string name, decimal price)
    {
        this.name = name;
        this.price = price;
    }

    public string Name
    {
        get
        {
            return this.name;
        }
    }

    protected decimal Price
    {
        get
        {
            return this.price;
        }
    }

    protected void ChangePrice(decimal newPrice)
    {
        Console.WriteLine(string.Format("The price changed from {0} to {1} for engridient {2}", this.price, newPrice,this.name));
        this.price = newPrice;
    }


}
Run Code Online (Sandbox Code Playgroud)

然后我有很多成分继承成分:

Tomato:Ingredient {//implementation}
Cheese:Ingredient {//implementation}
Mushrooms:Ingredient {//implementation}
Onion:Ingredient {//implementation}
Run Code Online (Sandbox Code Playgroud)

但我想我的成分,有一些类型的测量可以decimal Quantity或者 …

.net c# asp.net

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

字符串格式作为参数?

在学校作业中,我们有这个例子:

图像在这里

它告诉我用字符串格式参数创建一个public abstract method调用ToString,返回一个string.这怎么可能?

我试过这个:

public abstract string ToString(String.Format type)
{
    return "Some text";
}
Run Code Online (Sandbox Code Playgroud)

但它返回了一些错误:

The type or namespace name 'Format' could not be found (are you missing a using directive or an assembly reference?)
'Shape.ToString(string, Format)' cannot declare a body because it is marked abstract
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

.net c#

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

获取IP地址WPF和C#显示问题

有人知道为什么我运行这段代码

            IPHostEntry
         IPHost = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
        foreach
         (var
         ipAddress in
         IPHost.AddressList)
        {

            IPlabel.Content = ipAddress;
        }
Run Code Online (Sandbox Code Playgroud)

它以以下格式返回:2001:1:9d39:6 ......?

我希望以IPv4格式获取此格式:xxx.xxx.xxx.xxx

不确定他们是否有重复的帖子,我一直在寻找相当长的一段时间.我可能没有使用正确的搜索关键词

感谢任何帮助和/或发布你们可以提供的人.

c# ip-address

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

C#上下左右

我正在计算我的数据库的结果.如果它低于50,我想将它们除以2.示例:

if(CountResults < 50)
{
    //CountResults = 39
    int divided = CountResults / 2; //Results in 19
}
Run Code Online (Sandbox Code Playgroud)

我想要的是:

if(CountResults < 50)
{
    //CountResults = 39
    int divided = CountResults / 2; //Results in 19,5
    Math.Round(divided, 0);
}
Run Code Online (Sandbox Code Playgroud)

我希望能够将它向上和向下舍入.

所以我得到结果19.5两次.一旦我希望它是19,一次是20.

我如何实现这一目标?

c#

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

如何随机生成1000个6位数的序列

我想随机生成1000个数字并将结果放在一个富文本框中,但我从我的代码中得到的结果只是一个出现在富文本框中的数字!

 private Random _random = new Random();
 int min = 000000;
 int max = 999999;
 string s;  
 private void Form1_Load(object sender, EventArgs e)
 {
    for (int i = 0; i < 1000; i++)
    {
       s = _random.Next(min, max).ToString("D6") + "\n";
    }
    richTextBox1.Text = s;
 }
Run Code Online (Sandbox Code Playgroud)

.net c# random winforms

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

删除文本文件中的空行

我喜欢导出一个文本文件以供某些无法处理空行或空行的 PLC 读取。WriteLine 中的 \r\n 在文本文件末尾生成一个空行,我无法找到一种方法来不生成它或删除它。

这就是我生成和编写这些行的方式:

List<string> lines = new List<string>();
lines.Add(...);
foreach (string line in lines)
{
    file.WriteLine(line);
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码删除该行,但末尾的空行仍然存在:

List<string> lines = File.ReadAllLines(path).Where(arg => !string.IsNullOrWhiteSpace(arg)).ToList();
File.WriteAllLines(path, lines);
Run Code Online (Sandbox Code Playgroud)

我也尝试删除最后一行,但当然它删除最后一行而不是回车符。

lines = lines.GetRange(0, lines.Count - 1);
Run Code Online (Sandbox Code Playgroud)

该图像以图形方式展示了问题(左)和我想要实现的目标(右)

在此输入图像描述

c#

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

我的属性是更新我的字段还是我错误地使用MVVM

我正在试图找出MVVM和WPF,我想测试一些简单的代码来解决它.

我之前已经这样做了,所以我认为这不会是一个问题,但我正在失去理智.

这不是完整的代码,但我已经根据具体问题对其进行了调整

我有一个模特

private string _btnName;
public string BtnName { get {return _btnName;} set{ _btnName = value; } }
Run Code Online (Sandbox Code Playgroud)

我的视图模型就像这样

BtnName {get { return model.BtnName;} set{ model.BtnName = value;}}
ICommand ChangeButtonName = new RelayCommand(ChangeName)

Public void ChangeName(object a){ BtnName = "test"; }
Run Code Online (Sandbox Code Playgroud)

和这样的观点

<Button Content={Binding MV.BtnName} Command={Binding MV.ChangeButtonName}/>
Run Code Online (Sandbox Code Playgroud)

MV我的ViewModel类在哪里,model是我的模型类.

当我点击按钮它进入我的功能并确实"更改"名称,但在视图上按钮仍将具有旧内容.这意味着它不会更新.

我不明白为什么.

  • 为什么我的按钮没有更新内容文本?
  • 我应该在ViewModel中拥有属性吗?

.net c# wpf mvvm

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

C#将程序编译成2个exe文件

我正在使用Windows Forms在C#中编写应用程序.有时我会更改项目的设置并将"输出类型"设置为"控制台应用程序".

我想知道是否可以将项目作为Windows窗体应用程序和控制台应用程序编译为2个.exe文件?

.net c# compilation

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

EventHandler,Task为返回值

基础C#EventHandler定义为:

namespace System
{
    public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e);
}
Run Code Online (Sandbox Code Playgroud)

有没有人,如果有一个等待的事件处理程序可用?例如

public delegate Task EventHandlerAsnyc<TEventArgs>(object sender, TEventArgs e);
Run Code Online (Sandbox Code Playgroud)

谢谢

c#

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

获取两个变量及其顺序的函数无关紧要

抱歉,我无法在问题标题中更好地解释.我会在这里更好地定义我的问题.

这就是我正在做的事情 - 在我的游戏中,可以选择彼此使用物品.对于每对项目,游戏执行动作.

目前,游戏使用的变量有两个:"ItemUsed"和"ItemUsedOn".首先,游戏选择第一项 - 其id转到"ItemUsed",然后他选择第二项,它的id转到"ItemUsedOn".然后,有一个定义特定操作的空白.

一个简短的代码示例:

if (ItemUsed == "itm_cable")
{
    if (ItemUsedOn == "itm_towel")
        SubMain.ItemsMergedText = "To achieve what?";
    else if (ItemUsedOn == "itm_wet_towel")
        SubMain.ItemsMergedText = "No, water will damage it";
    else if (ItemUsedOn == "itm_glass")
        SubMain.ItemsMergedText = "I don't need to cut the cable";
}

if (ItemUsed == "itm_book_electronics")
{
    if (ItemUsedOn == "itm_towel")
        SubMain.ItemsMergedText = "Why?";
    if (ItemUsedOn == "itm_wet_towel")
        SubMain.ItemsMergedText = "No, water will damage the book";
    else if (ItemUsedOn == "itm_soap")
        SubMain.ItemsMergedText = …
Run Code Online (Sandbox Code Playgroud)

c# variables function

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

LINQ C# 中的分组和字符串连接

我是 C# linq 新手。

我的数据结果如下,

Id | Name   | Code
1  | Go     | GOS
1  | RES    | RECSO
1  | ICS    | ICSO 
2  | Go     | GOS
2  | ICS    | ICSO 
Run Code Online (Sandbox Code Playgroud)

我想要的结果如下,

Id | Name     | Code
1, Go,RES,ICS | GOS,RECSO,ICSO 
2, Go,ICS     | GOS,ICSO
Run Code Online (Sandbox Code Playgroud)

有人可以用优化的方式为此提供 linq 查询吗,因为我有大数据集。

提前致谢

c# linq lambda c#-4.0

-3
推荐指数
1
解决办法
5461
查看次数

'79000'附近的语法不正确

我有这个comamand和那个错误,在数据我有邮政编码79000和表名站点

   private void Crt_clck_Click(object sender, EventArgs e)
    {

        {
            con.Open();
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT CMC, [Site Name], [Phone Number], Zip_Code FROM site Where Zip_Code'" + Zipcode.Text + "'";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            con.Close();
        }
Run Code Online (Sandbox Code Playgroud)

你能帮我这个吗?

.net c#

-5
推荐指数
1
解决办法
65
查看次数

标签 统计

c# ×12

.net ×6

asp.net ×1

c#-4.0 ×1

compilation ×1

function ×1

ip-address ×1

lambda ×1

linq ×1

mvvm ×1

random ×1

variables ×1

winforms ×1

wpf ×1