小编MAV*_*MAV的帖子

C# - 打印字典

我创建了一个字典,其中包含两个值DateTime和一个字符串.现在我想打印从字典到文本框的所有内容.有人知道怎么做这个吗.我已经使用此代码将字典打印到控制台:

private void button1_Click(object sender, EventArgs e)
{
    Dictionary<DateTime, string> dictionary = new Dictionary<DateTime, string>();
    dictionary.Add(monthCalendar1.SelectionStart, textBox1.Text);

    foreach (KeyValuePair<DateTime, string> kvp in dictionary)
    {
        //textBox3.Text += ("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
        Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# dictionary

46
推荐指数
4
解决办法
9万
查看次数

如何从ComboBox C#Winforms获得ValueMember值?

我在尝试获取我设置的ValueMember值时遇到了一些麻烦.我正在尝试使用组合框来选择Windows窗体报告.我可以得到名字而不是RptValue.这是我的代码:

        private class Data
    {
        public string Name { get; set; }
        public string RptValue { get; set; }
    }

    private void BaseForm_Load(object sender, EventArgs e)
    {
        this.rvDoctorReportViewer.RefreshReport();
        comboBox1.Items.Add(new Data { Name="Select", RptValue="Select"});
        comboBox1.Items.Add(new Data { Name = "All Food Values", RptValue = "AllFoodValues.rdlc" });
        comboBox1.Items.Add(new Data { Name = "All Readings", RptValue = "AllReadings.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Food Values by Date", RptValue = "AvgFoodValuesByDate.rdlc" });
        comboBox1.Items.Add(new Data { Name = "Avg Food Values by Meal", …
Run Code Online (Sandbox Code Playgroud)

c# report winforms

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

DataGridView:仅当滚动位于底部时自动向下滚动

我有一个程序,它使用dataGridView显示通过向dataGridView添加行每秒自动更新的数据.

当我想在开头读一些东西时,我向上滚动,即使数据更新,滚动条也没有下降,这很好.但我希望滚动条仅在它位于dataGridView的底部时才会向下.

将新行添加到文本时我想要的行为:

如果滚动条位于底部,则自动向下滚动.如果滚动条在别处,请不要滚动.

我为此编写的代码不幸的是不起作用:

 private void liveDataTable_Scroll(object sender, ScrollEventArgs e)
 {
    ScrollPosition = liveDataTable.FirstDisplayedScrollingRowIndex; 

    if (ScrollPosition == liveDataTable.RowCount - 1)
    {
       IsScrolledToBottom = true;
    }
    else
    {
       IsScrolledToBottom = false;
    }            
 }
 public void AddRowToDataGridMethod()
 {
    dataTable.Rows.Add();

    if (dataWin.IsScrolledToBottom == true)
         dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = (dataWin.ScrollPosition + 1);
    else
         dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = dataWin.ScrollPosition;         
 }
Run Code Online (Sandbox Code Playgroud)

c# datagridview scrollbar

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

Linq包含不起作用

我使用以下代码来过滤包含字符串pre的列表.我错过了什么?这是代码

string pre = "a";
List<string> A = new List<string>();
List<string> B = new List<string>();
DAL dal = new DAL();
A = dal.GetNames();
B = (from x in A
     where A.Contains(pre)
     select x).ToList();
B = A.Where(c => A.Contains(pre)).ToList();
Run Code Online (Sandbox Code Playgroud)

B总是在这里空(在两种情况下).

c# linq

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

枚举错误:运算符'=='不能应用于'对象'类型的操作数

尝试编译此代码,但if语句咳出一个错误:

错误1运算符'=='不能应用于'对象'类型的操作数和..

public enum ShoeType
{
    soccer = 0,
    jogging=1,
    fitness=2
}

class Program
{
    static void Main(string[] args)
    {
        string shoetype = "1";

        if (Enum.Parse(typeof(ShoeType), shoetype) == ShoeType.jogging)
        {
            var test = "gotcha";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# enums

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

在文本编辑器中转到行

我尝试在基本的编辑器类型的应用程序中实现GoTo ling,但并不总是准确的.通常情况下,它会获得正确的线条,但似乎线条越多,线条位置错误的可能性越大,走错线.不知道为什么这不起作用.有人可以帮忙吗?

int position = 0;
int lineCount = ((TextBox)tabControl1.SelectedTab.Controls[0]).Lines.Count();

for (int i = 0; i < LineNumber; i++)
{
     position += ((TextBox)tabControl1.SelectedTab.Controls[0]).Lines[i].Count();
}

((TextBox)tabControl1.SelectedTab.Controls[0]).Focus();
((TextBox)tabControl1.SelectedTab.Controls[0]).SelectionStart = position;
((TextBox)tabControl1.SelectedTab.Controls[0]).ScrollToCaret();
LineNumber = 0;
position = 0;
lineCount = 0;
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

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

为什么for循环初始化中的条件比循环内部更快?

我正在做一些优化,发现这个:

for (int x = -1; x < 2; x++)
{
    for (int y = -1; y < 2 ; y++)
    {
        if (((x * x) ^ (y * y)) != 1)
        {
            continue;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

运行时需要两倍以上:

for (int x = -1; x < 2; x++)
{
    for (int y = -1; y < 2 && ((x * x) ^ (y * y)) == 1; y++)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

目的是避免对角线(-1,-1; -1,1 ......)和原点(0,0)场

c# optimization

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

自己的代码明显比其他代码慢

我编写的代码比我在网上发现的一些代码更慢(超出最大时间),即使在线代码看起来更臃肿.

那么我陷入了什么陷阱,我的代码看起来更干净,但却以某种方式放慢了速度?

慢(我的):

using System;

public class Program
{   
    public static void Main()
    {
        int countMAX = 0;
        int num = 0;

        for (int i = 2; i <= 1000000; i++)
        {
            int count = 1;

            int temp = i;

            while (temp != 1)
            {
                if(temp % 2 == 0) temp /= 2;
                else temp = temp * 3 + 1;
                count++;
            }

            if(count > countMAX)
            {
                countMAX = count;
                num = i;
            }
        }

        Console.WriteLine("Number: " + num + …
Run Code Online (Sandbox Code Playgroud)

c#

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

检查数据库中的登录凭据

我将用户名和密码存储在MySql数据库中.我使用以下代码根据数据库中的数据验证凭据以进行登录.代码工作正常.我的问题是这是不好的做法,是否有更好的方法来做到这一点.

我的方法是连接到该数据库,在List中提取和存储这些信息,并将它们与来自文本框输入的用户输入进行比较.

//Extracting information from the database and storing it in a List
public void Login()
{
    MySqlCommand cmdReader;
    MySqlDataReader myReader;

    userQuery = "SELECT * FROM User";
    string name = "Name";
    string user = "UserName";
    string pw = "Password";

    string connString = "server=" + server + "; userid=" + userid + "; password=" + password + "; database=" + database;
    try
    {
        conn.ConnectionString = connString;
        conn.Open();
        cmdReader = new MySqlCommand(userQuery, conn);
        myReader = cmdReader.ExecuteReader();
        while (myReader.Read())
        {
            string tempUser, tempPassword; …
Run Code Online (Sandbox Code Playgroud)

c# mysql wpf

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

尽管条件正在满足Java,但循环不会中断

我正在尝试编写一个测试程序来检查用户对数据库的响应(基本上是3个数组).这是相关代码:

while(true) {
    int r = randomnumbergenerator.nextInt(length);
    String[] split2 = a[r].split(" ");
    String lastNameAnswer = "";
    while(!lastNameAnswer.equals(split2[1])) {
        System.out.println("What is " + split2[0] + "\'s last name?");
        lastNameAnswer = reader.next();
    }
    String hometownAnswer = "";
    String hometown = h[r];
    while(!hometownAnswer.equals(hometown)) {
        System.out.println("What is " +  split2[0] + "\'s hometown?");
        hometownAnswer = reader.next();    
    }
    String majorAnswer = "";
    String major = m[r];
    while(!majorAnswer.equals(major)) {
        System.out.println("What is " + split2[0] + "\'s major?");
        majorAnswer = reader.next();
    }
}
Run Code Online (Sandbox Code Playgroud)

那么应该发生的是它应该从数据库中选择一个名称,并询问有关名称的问题,例如姓氏,家乡和专业.如果用户的答案错误,则应重复询问该问题.我的代码适用于姓氏和专业,但由于某种原因,故乡是故障.这是输出:

What is Ellen's …
Run Code Online (Sandbox Code Playgroud)

java

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

标签 统计

c# ×9

winforms ×2

.net ×1

datagridview ×1

dictionary ×1

enums ×1

java ×1

linq ×1

mysql ×1

optimization ×1

report ×1

scrollbar ×1

wpf ×1