将属性声明为类,字段和素数

时间:2013-10-29 18:10:30

标签: c# class object field primes

我是C#课程的新手,我在网上学习c#,下次练习时遇到问题:

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

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

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

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

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

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

注意: 如果两个数字的最大公约数为1,则它们是相对素数。示例数字为:2和3,5和7,4和11。

说明: 如果我们在类TestForNumbers中获取对象的SetNumber和SetField的属性,然后是它们的值3和{2,3,4,6,8,10,13},则NumberOfRelativelyPrime方法应该返回值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)
        {

        }
    }
}

1 个答案:

答案 0 :(得分:2)

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

    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";
        }
    }