2013-10-29 67 views
-2

我是新来的C#类和我学习C#在线和我有一个练习了一个问题:声明属性类,农田和素数

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

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

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

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

然后这个类有一个更多的方法NumberOfRelativelyPrime - 它没有参数并且返回一个整数,它显示了字段中数字的数量,这些数字与SetNumber类的属性后跟的数字相对。

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

NOTES: 两个数字是互质的,如果他们的最大公约数是1。实施例编号:2和3,5和7,4和11

说明: 如果我们把SetNumber的属性和对象的SetField在TestForNumbers类中,后跟值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不相对的原因。

“The优化代码并不重要,如果练习返回正确的值就足够了。“ (通过练习本身)

是的,我没有做很多,因为我很困扰它...我的代码在下面,当我得到新的信息并学习要做的事情时会更新。

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) 
     { 

     } 
    } 
} 
+0

你可以简化为单个问题吗?这里有十几个话题,你似乎在寻求帮助。 – StingyJack

+0

*单个问题 – StingyJack

+0

我更新了代码..我在正确的轨道上吗?我想问以下问题......我如何制作多个数字的字段属性?以及如何从一个类创建一个对象? – user2933378

回答

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

一类的属性呢?你如何设置它们? (SetNumber,SetField) – user2933378

+0

ThisIsAProperty和ThisIsAnAutomaticProperty属性的类。 static void Main中的语句是将值设置到它们中。 – StingyJack

+0

非常好..我尝试了一些代码,但我真的坚持创建对象和多个数字的字段。 – user2933378