【问题标题】:use return value from method in another method在另一个方法中使用方法的返回值
【发布时间】:2021-07-07 01:30:02
【问题描述】:

我是计算机科学第一年的学生, 我们在 c# 中得到了任务 我在使用 SearchTrip 方法的返回对象时遇到问题,然后在另一个方法 TripUpdate 中进入这个对象并用新值更新他我该如何正确地做到这一点?

 static Trip SearchTrip(Trip[] tArr, int tripnum)
    {

        for (int i = 0; i < tArr.Length; i++)
        {
            if (tArr[i].GetTrip_num() == tripnum)
            {
                Console.WriteLine("the trip exists");
                return tArr[i];
            }
        }
        return null;
    }
    static void Trip_update(Trip[] tArr, int tripnum)
    {

        if (SearchTrip(tArr, tripnum) != null)
        {
            
            Console.WriteLine("enter trip number");
            int trip_num = int.Parse(Console.ReadLine());
            Console.WriteLine("enter destination");
            String destination = Console.ReadLine();
            Console.WriteLine("enter trip date and time in format: dd/mm/yy hh:mm:ss");
            DateTime dt = DateTime.Parse(Console.ReadLine());


            for (int i = 0; i < tArr.Length; i++)
            {
                if (tArr[i].GetDt() == dt)
                { Console.WriteLine("EROR already have trip with this date"); }
                // update the trip that we got from SearchTrip method with new data;
                else {   }
            }
            
        }
    }

【问题讨论】:

  • 欢迎来到stackoverflow,在目前的形式下,你还没有真正问过具体问题
  • 我都完成了,我没有在这里发布我的作业。我想使用返回方法 SearchTrip 。我想使用这个对象来更新他的新值

标签: c# object oop return


【解决方案1】:

你不需要用新对象更新值,相反,如果你在 Trip 类中的属性是公开的,你可以轻松使用

trip.trip_num = trip_num;
trip.destination = destination;
trip.dt = dt;

或在 Trip 类中创建方法,如

public void Update(trip_num, destination, dt){ // insert here ur types also
 this.trip_num = trip_num;
 this.destination = destination;
 this.dt = dt;

}

在这种情况下你可以做

trip.Update(trip_num,destination,dt);
 

【讨论】:

    【解决方案2】:
     //assumming your trip object parameters (destination & date) are destination and 
      date:
    
    static Trip SearchTrip(Trip[] tArr, int tripnum)
    {
    
        for (int i = 0; i < tArr.Length; i++)
        {
            if (tArr[i].GetTrip_num() == tripnum)
            {
                Console.WriteLine("the trip exists");
                return tArr[i];
            }
        }
        return null;
    }
    static void Trip_update(Trip[] tArr, int tripnum)
    {
      //added
      var trip = SearchTrip(tArr, tripnum);
        if ( trip != null)
        {
            
            Console.WriteLine("enter trip number");
            int trip_num = int.Parse(Console.ReadLine());
            Console.WriteLine("enter destination");
            String destination = Console.ReadLine();
            Console.WriteLine("enter trip date and time in format: dd/mm/yy hh:mm:ss");
            DateTime dt = DateTime.Parse(Console.ReadLine());
    
                if (trip.GetDt() == dt)
                { Console.WriteLine("EROR already have trip with this date"); }
                // update the trip that we got from SearchTrip method with new data;
                else { 
                  trip.tripnum = trip_num;
                  trip.destination = destination;
                  trip.date = dt ;
                } 
        }
     }
    

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-03-29
      相关资源
      最近更新 更多