Wie ersetze ich Werte in einem Array, das sich innerhalb einer Klasse befindet?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Wie ersetze ich Werte in einem Array, das sich innerhalb einer Klasse befindet?

Post by Guest »

Ich bin auf ein Problem gestoßen, bei dem ich eine Klasse habe, die ein Array speichert, und auch eine Methode, die die Werte in diesem Array ändern soll. Das Problem besteht darin, dass, wenn der Code fortfährt, die Werte, die das Array erhält, die Standardwerte sind und nicht die, die in der Methode geändert wurden.

Code: Select all

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

namespace problemexample
{

public class Stats
{
public int[] defStats = { 100, 15, 7 };

public void ChangeStat(int stat1, int stat2, int stat3)
{
defStats[0] = stat1;
defStats[1] = stat2;
defStats[2] = stat3;
}

}
internal class Program
{
static void Setup()
{
Stats player = new Stats();
int[] stats = player.defStats;

stats[0] = 150;
stats[1] = 30;
stats[2] = 10;

player.ChangeStat(stats[0], stats[1], stats[2]);
}
static void Main(string[] args)
{
Setup();
Stats player = new Stats();
int[] stats = player.defStats;

foreach (int i in stats)
{
Console.Write(i + " ");
}
Console.ReadKey();
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post