c# - 将字符串数组的元素链接到十进制值

标签 c# arrays forms

所以我有这个字符串元素数组:

string[] words = { "My", "name", "is", "Jack" }; 

我希望这个数组中的每个元素都链接到一个特定的值(十进制)但是每次我按下一个按钮让这个元素出现(在文本中)让我们说在我希望能够按下的文本框或标签中第二个按钮更新与元素链接的小数点。每个元素都有自己的特定值(我们称之为权重)。我试过:

decimal weight1 = 0; 
words[0] = Convert.ToString(weight1); 
label1.Text = Convert.ToString(words[0]);

但它所做的只是将值分配给元素(更改它),而我不希望这样。我希望它们显示为文本但仅链接元素而不更改它,并在背景上更新其链接值。

元素:

“我的”链接到 weight1 元素“name”链接到 weight2name => weight3Jack => weight4

我该怎么做?

如果数组、类或接口(interface)无法做到这一点,我愿意接受其他建议...

最佳答案

听起来您需要一个自定义类来定义您的架构。您应该定义一个如下所示的类,而不是字符串数组:

public class WeightedWord
{
      public WeightedWord(string word, decimal weight)
      {
           Word = word;
           Weight = weight;
      }

      public string Word { get; set; }
      public decimal Weight { get; set; }
}

然后您就可以为每个单词分配单独的权重。

你的数组看起来像这样:

WeightedWord[] weightedWords = { new WeightedWord("My", .1), 
                                 new WeightedWord("name", .2),
                                 new WeightedWord("is", .3),
                                 new WeightedWord("Jack", .4) }; 

在您的按钮按下操作中,您可以访问要更新的特定对象。

weightedWords[0].Weight = .7;

关于c# - 将字符串数组的元素链接到十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59231930/

相关文章:

javascript - 如何只提交从下拉列表中选择的值?

c# - 表达式表示 `value' ,其中在 Unity 的线程内调用 StartCoroutine 时预期为 `type' 或 `method group'

c# - 如何构建正则表达式以匹配由空格分隔的固定字符串?

c# - 日期选择器只返回日期

c# - 具有内部基础的接口(interface)继承

arrays - 从复杂的自定义数组中删除

javascript - 通过 jQuery Ajax 将数组和表单数据一起发布时出现问题

java - 如何根据条件从数组中获取对象?

zend-framework - Zend 框架 : Conditional validation

security - 自动完成 ="off"是否应该用于所有敏感字段?