小编Dut*_*ner的帖子

初始化一个类的要点?

我正在为初学者读一本关于C#的书,而我正处于"理解价值观和参考资料"这一部分,但有一些我不理解的东西.我所看到的是,书籍试图向我解释这一点(我已经在Youtube的几个教程视频中看到了这一点),该类正被用来创建一个对象(? ?)班级.我已经阅读了整个前一章,其中也发生过这种情况,我不太明白它,假设在下一章中会更清楚.它没有变得更加清晰,所以我不认为继续直到我理解我之前解释过的东西的概念为止.

以下部分是本书的一部分:

请记住,要初始化引用变量(如类),可以创建类的新实例并将引用变量分配给新对象,如下所示:

Circle c = new Circle(42);
Circle copy = new Circle(99);
//Circle refc = c;
...
copy = c;
Run Code Online (Sandbox Code Playgroud)

我可以用这个例子中的代码做什么,为什么它很方便?示例+解释将非常受欢迎.提前致谢!

c# object

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

在编写方法时如何防止某些形式的输入?

我仍然是高级编程语言编程的初学者,所以我不知道这是否是一个简单的解决方案,但无论如何我很乐意学习.我在C#中编写了一个小程序报警程序,让用户输入报警需要关闭的秒数.它工作得很好,但用户需要提供的输入必须是一个数字.当用户输入任何形式的文本时,程序崩溃.现在,如何阻止用户输入文本,调用函数或在用户执行其他操作时,而不是刚刚崩溃的程序?

这是我现在的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    class Alarm
    {
        public static void play()
        {
            int sec;
            sec = Convert.ToInt16(Console.ReadLine());

            for (int i = 0; i < seconds; ++i)
            {
                System.Threading.Thread.Sleep(1000);
            }

            for (int i = 0; i < 10; i++)
            {
                Console.Beep();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# console for-loop

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

删除'#include <algorithm>'不会破坏代码

也许这是一个非常愚蠢的问题,但我正在阅读的书指示我编写一段代码,使用算法对向量中的元素进行加扰和排序.为此,本书告诉我使用主C++库中的算法库.好吧,到目前为止,我理解它,但在编写代码之后,我想看看如果我从代码的顶部删除这个库会破坏什么,并且让我惊讶的是一切仍然有用.

这是我正在谈论的代码.当我从代码的顶部删除"#include算法"时,没有任何中断.怎么会这样?不使用这个库时,'random_shuffle'部分不应该被破坏吗?

#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
using namespace std;

int main()
{
    vector<int>::const_iterator iter;

    cout << "Creating a list of scores.";
    vector<int> scores;
    scores.push_back(1500);
    scores.push_back(3500);
    scores.push_back(7500);

    cout << "\nHigh Scores:\n";
    for (iter = scores.begin(); iter != scores.end(); ++iter)
    {
        cout << *iter << endl;
    }

    cout << "\nFinding a score.";
    int score;
    cout << "\nEnter a score to find: ";
    cin >> score;
    iter = find(scores.begin(), scores.end(), score);
    if (iter != scores.end())
    {
        cout …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm

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

文本文件没有保存但没有错误(C#)

我现在一直在寻找许多网站上的答案,但所有工作答案仅适用于richTextbox,而我正在使用普通的文本框.我正在尝试将文本框的内容保存到选择的文件中,但由于某种原因文件没有保存,我不知道问题是什么.这是"保存"菜单项的代码:

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
    {

        SaveFileDialog ofd = new SaveFileDialog();
        ofd.Title = "Save";
        ofd.Filter = "Txt Documents (.txt)|*.txt|All files (*.*)|*.*";
        if (ofd.ShowDialog() == DialogResult.OK)
        {
            try
            {
                //I don't know what to make of this, because clearly this doesn't work
                File.WriteAllText(@"./TestFile.txt", MainTextbox.Text);
            }
            catch (Exception ex)
            {
                MainTextbox.Text += ex;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

没有错误.

c# io save writealltext

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

发送到多个电子邮件地址

我无法想出以下内容.如何使用以下代码将电子邮件发送到多个电子邮件地址?

using System.Net;
using System.Net.Mail;

var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
{
    Host = "smtp.gmail.com",
    Port = 587,
    EnableSsl = true,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
    Subject = subject,
    Body = body
})
{
    smtp.Send(message);
}
Run Code Online (Sandbox Code Playgroud)

c# email

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

替代Thread.Sleep()暂时挂起程序

请参阅本文底部的代码.它应该在列表框中添加"3",然后在一秒钟后添加"2",然后在一秒钟后添加"1",然后运行程序的主代码.但是,一旦我执行程序,它就会保持3秒钟的空白,然后显示所有的3,2和1,之后所有代码都会直接启动.我想在视觉上看到每个数字都显示一秒延迟.我该怎么做呢?

private void Main()
        {
            countdown();
            //Main Code
        }

private void countdown()
        {
            listBox1.Items.Clear();
            listBox1.Items.Add("3");
            System.Threading.Thread.Sleep(1000);
            listBox1.Items.Add("2");
            System.Threading.Thread.Sleep(1000);
            listBox1.Items.Add("1");
            System.Threading.Thread.Sleep(1000);
            listBox1.Items.Clear();
        }
Run Code Online (Sandbox Code Playgroud)

c# sleep wait

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

标签 统计

c# ×5

algorithm ×1

c++ ×1

console ×1

email ×1

for-loop ×1

io ×1

object ×1

save ×1

sleep ×1

wait ×1

writealltext ×1