【问题标题】:Declaring properties to class, fields and prime numbers [closed]向类、字段和素数声明属性 [关闭]
【发布时间】:2013-10-29 18:10:30
【问题描述】:

我是 C# 课程的新手,我正在在线学习 c#,我在下一个练习中遇到了问题:

编写一个类 TestForNumbers,它有两个属性 SetNumber 和 SetField,它们允许向该类添加一个整数和一个数字字段。

我的问题,如何设置一个类的属性?让他们允许吗?

因此,这些值保存在临时变量 tmpNumber 和 tmpField 中。

如何将数字字段保存在一个变量中??

然后该类还有一个方法 NumberOfRelativePrime - 它没有参数并返回一个整数,该整数显示字段中与 SetNumber 类的属性相对素数的数字的数量。

除了类之外,从 TestForNumbers 类创建一个对象,并为 number=3 和 field={2,3,4,6,8,10,13} 添加测试值。然后调用 NumberOfRelativePrime 方法,调用类的结果添加到变量 RelativelyPrime 中。

注意事项: 如果两个数的最大公约数为 1,则它们互质。例如:2 和 3、5 和 7、4 和 11。

说明: 如果我们在 TestForNumbers 类中获取对象的 SetNumber 和 SetField 的属性,然后是它们的值 3 和 {2,3,4,6,8,10,13},那么 NumberOfRelativePrime 方法应该返回值 5,因为数字 3 与域 {2,3,4,6,8,10,13} 的元素互质。 GCD(3,3)=3 大于 1。GCD(3,6)=3,大于 1,这就是为什么元素 3 和 6 与数字 3 不互质。

“代码的优化不重要,只要练习返回正确的值就足够了。” (由练习本身)

是的,我没有做太多事情,因为我一直坚持下去......我的代码在下面,当我获得新信息和学习要做的事情时会更新。

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

namespace ConsoleApplication1
{

    class TestForNumbers
    {
        public string SetNumber
        {
            get;
            set
            {
                //int tmpNumber = SetNumber();
            }
        }

        public int NumberOfRelativelyPrime
        {

        }

        public string SetField
        {
            get;
            set;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {

        }
    }
}

【问题讨论】:

  • 你能把这个简化成一个问题吗?您似乎在此寻求帮助的主题有十几个。
  • 我更新了代码..我在正确的轨道上吗?我想问以下问题..如何制作多个数字的字段属性?以及如何从一个类中创建一个对象?
  • 您是在追求算法还是在寻求与代码相关的东西?它非常不清楚你的问题到底是什么

标签: c# class object field primes


【解决方案1】:

也许术语是没有被理解的。这是一个小示例类,用于演示字段和属性之间的差异,以及如何设置属性。看看这个,看看它是否有助于你改正你的问题。

    class TestForNumbers
    {
        private string _ThisIsAField; // a plain old variable at the class level is a field.

        public string ThisIsAnAutomaticProperty { get; set; } //this is a typing shortcut, you dont need a backing field.

        private string _ThisIsAPropertyBackingField; //another field, but this value is exposed via the property

        public string ThisIsAProperty
        {
            get { return _ThisIsAPropertyBackingField; }
            set { _ThisIsAPropertyBackingField = value; } //omit this line if you dont want callers to set the value.
        }

    }

    class Program
    {
        static void Main()
        {
            var tfn = new TestForNumbers();
            tfn.ThisIsAProperty = "new Value";
            tfn.ThisIsAnAutomaticProperty = "Another new value";
            //tfn._ThisIsAField = "Doesnt Work";
        }
    }

【讨论】:

  • 类的属性呢?你如何设置它们? (SetNumber, SetField)
  • ThisIsAProperty 和 ThisIsAnAutomaticProperty 是类的属性。 static void Main 中的语句正在为它们设置值。
  • 很好..我尝试了一些代码,但我真的被对象的创建和多个数字的字段所困扰。
猜你喜欢
  • 2014-09-30
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多