Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#我必须在标签上应用10个变量_C# - Fatal编程技术网

C#我必须在标签上应用10个变量

C#我必须在标签上应用10个变量,c#,C#,在这个赋值中,我必须将10个变量应用到文本框中的标签中,但是当我输入变量时,它会从文本框中输入10个相同的值,我对这个主题感到困惑。下面是它的代码: private void btnNumbers_Click(object sender, EventArgs e) { int[] numbers = new int[10]; for (int i = 0; i < numbers.Length; i++) {

在这个赋值中,我必须将10个变量应用到文本框中的标签中,但是当我输入变量时,它会从文本框中输入10个相同的值,我对这个主题感到困惑。下面是它的代码:

private void btnNumbers_Click(object sender, EventArgs e)
    {
        int[] numbers = new int[10];
        for (int i = 0; i < numbers.Length; i++)
        {
            numbers[i] = Convert.ToInt32(txtNumbers.Text);
        }
        SmallestAndLargest(numbers);
    }
    private void SmallestAndLargest(int[] numbers)
    {
        Array.Sort(numbers);
        int x;
        for (x = 0; x < numbers.Length; ++x)
            lblSorted.Text += String.Format("  {0} ", numbers[x]);
        lblSmallest.Text = String.Format("Smallest Number Entered: {0} ", numbers[0]);
        lblLargest.Text = String.Format("Largest Number Entered: {0} ", numbers[numbers.Length - 1]);
    }
private void btnNumbers\u单击(对象发送者,事件参数e)
{
整数[]个数=新整数[10];
for(int i=0;i
每次从txtNumbers.Text属性指定相同的值时

 for (int i = 0; i < numbers.Length; i++)
 {
    numbers[i] = Convert.ToInt32(txtNumbers.Text);
 }
for(int i=0;i
如果要在texbox中输入大量值,请尝试:

string[] words = txtNumbers.Text.Split(' ');
for (int i = 0; i < numbers.Length; i++)
        {
            numbers[i] = Convert.ToInt32(words[i]);
        }
string[]words=txtNumbers.Text.Split(“”);
for(int i=0;i
您需要拆分输入值。比如说:

private void btnNumbers_Click(object sender, EventArgs e)
{
    var numbers = txtNumbers.Text.Split(' ');

    int[] convertedItems = Array.ConvertAll<string, int>(numbers, int.Parse);

    SmallestAndLargest(convertedItems );
}
private void btnNumbers\u单击(对象发送者,事件参数e)
{
var number=txtNumbers.Text.Split(“”);
int[]convertedItems=Array.ConvertAll(数字,int.Parse);
SmallestAndLargest(convertedItems);
}
因此,如果您输入如下值:

private void btnNumbers_Click(object sender, EventArgs e)
{
    var numbers = txtNumbers.Text.Split(' ');

    int[] convertedItems = Array.ConvertAll<string, int>(numbers, int.Parse);

    SmallestAndLargest(convertedItems );
}
12357910

您的
numbers
数组将分别填充一个数字。
Split(“”)
将根据找到
空格的位置对字符串进行拆分。如果它们以不同的方式输入,则需要为
Split()
使用不同的分隔符。你可以在网上了解更多

然后在另一种方法中,您可以遍历数组并找到最小值和最大值。

int[]numbers=new int[10];
int[] numbers = new int[10];
int counter = 0;

private void btnNumbers_Click(object sender, EventArgs e)
{        
    numbers[counter] = Convert.ToInt32(txtNumbers.Text);
    counter++;
    SmallestAndLargest(numbers);
}
private void SmallestAndLargest(int[] numbers)
{
    Array.Sort(numbers);
    int x;
    for (x = 0; x < numbers.Length; ++x)
        lblSorted.Text += String.Format("  {0} ", numbers[x]);
    lblSmallest.Text = String.Format("Smallest Number Entered: {0} ", numbers[0]);
    lblLargest.Text = String.Format("Largest Number Entered: {0} ", numbers[numbers.Length - 1]);
}
int计数器=0; 私有无效btnNumbers\u单击(对象发送者,事件参数e) { 数字[计数器]=转换为32(txtNumbers.Text); 计数器++; 小型和大型(数字); } 私有void SmallestAndLargest(int[]编号) { 数组。排序(数字); int x; 对于(x=0;x
这不是最好的方法,但应该有效。关键是在clickmethod之外声明数组,因为它一离开方法的作用域就消失了。但是要注意-如果超过10个条目,这将引发异常。我将把它作为一种锻炼

编辑:我认为OP实现这一点的方式与目前提供的答案略有不同。我的解释是,OP会在文本框中键入一个整数,然后单击一个按钮,然后将其添加到数组中,重复10次

编辑2:因为我认为这是你想要的方式,你也应该改变

for (x = 0; x < numbers.Length; ++x)
    lblSorted.Text += String.Format("  {0} ", numbers[x]);
for(x=0;x

lblSorted.Text=String.Empty;
对于(x=0;x
这将确保标签文本已更新,而不是追加

编辑3:因为我今天心情很好,这是我制作的测试表格,它可以按预期工作

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        List<int> numbers = new List<int>();

        private void btnNumbers_Click(object sender, EventArgs e)
        {
            int x;
            if (!Int32.TryParse(txtNumbers.Text, out x)) return;
            numbers.Add(x);
            SmallestAndLargest(numbers.ToArray());
        }
        private void SmallestAndLargest(int[] numbers)
        {
            Array.Sort(numbers);
            int x;
            lblSorted.Text = String.Empty;
            for (x = 0; x < numbers.Length; ++x)                        
                lblSorted.Text += String.Format("  {0} ", numbers[x]);
            lblSmallest.Text = String.Format("Smallest Number Entered: {0} ", numbers[0]);
            lblLargest.Text = String.Format("Largest Number Entered: {0} ", numbers[numbers.Length - 1]);
        }
    }
}
名称空间测试
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
}
列表编号=新列表();
私有无效btnNumbers\u单击(对象发送者,事件参数e)
{
int x;
如果(!Int32.TryParse(txtNumbers.Text,out x))返回;
增加(x);
SmallestAndLargest(number.ToArray());
}
私有void SmallestAndLargest(int[]编号)
{
数组。排序(数字);
int x;
lblSorted.Text=String.Empty;
对于(x=0;x
看看这个!我将数组更改为一个
列表
,并做了一些其他小更改,但它应该可以完成您试图归档的任务

    public List<int> Numbers { get; set; }

    private void btnNumbers_Click(object sender, EventArgs e)
    {
        var currentVal = 0;
        if (Int32.TryParse(txtNumbers.Text, out currentVal))
            Numbers.Add(currentVal);
        SmallestAndLargest();
    }
    private void SmallestAndLargest()
    {

        Numbers.Sort(); //Sorts
        var max = 0;
        foreach(var x in Numbers)
        {
            lblSorted.Text += String.Format("  {0} ", x);
            max = x; //As List is sorted the current x is always the maximum value
        }            

        lblSmallest.Text = String.Format("Smallest Number Entered: {0} ", Numbers.ElementAt(0));
        lblLargest.Text = String.Format("Largest Number Entered: {0} ", max);
    }
公共列表编号{get;set;}
私有无效btnNumbers\u单击(对象发送者,事件参数e)
{
var-currentVal=0;
if(Int32.TryParse(txtNumbers.Text,out currentVal))
添加(currentVal);
SmallestAndLargest();
}
私有void SmallestAndLargest()
{
Numbers.Sort();//排序
var max=0;
foreach(数值中的变量x)
{
lblSorted.Text+=String.Format(“{0}”,x);
max=x;//列表排序时,当前x始终是最大值
}            
lblSmallest.Text=String.Format(“输入的最小数字:{0}”,Numbers.ElementAt(0));
lblLargest.Text=String.Format(“输入的最大数字:{0}”,max);
}

我仍然很困惑如何将文本框中的变量输入到标签中,而不让它输入10个相同的值。每次从文本框中转换相同的值时。也许你可以说你想要什么