c#编程作业

本文关键字:作业 编程 | 更新日期: 2023-09-27 18:13:38

老师要我创建2个文件&在里面插入随机字符。两个文件的长度应该相同。在一个文件中,应该随机插入关键字"Hello"。

我对第一个文件这样做:

var stringChars = new char[100];
var random = new Random();
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

for (int i = 0; i < stringChars.Length; i++)
{
    stringChars[i] = chars[random.Next(chars.Length)];
}

我对第二个文件这样做:

   var stringChars2 = new char[100];
   var random2 = new Random();
   var chars2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZxxxxx";
   for (int i = 0; i < stringChars2.Length; i++)
   {
       stringChars2[i] = chars2[random2.Next(chars2.Length)];
   }

   string string2 = new string(stringChars2);
   string2 = string2.Replace("x", "'"Hello'"");

我的问题是我不知道如何使两个文件的长度等于字符串替换技巧。第二个文件总是更长。

c#编程作业

这是一个面向对象的方法。我之所以强调这种方法,是因为您必须多次执行类似的操作(两次)。因此,您不应该重复自己(google DRY principal)。

我不会告诉你如何使用这些方法,你可以自己弄清楚:

public static class StringManipulation
{
    public static string GetXRandomCharacters(int x)
    {
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        var random = new Random();
        var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        for (int i = 0; i < stringChars.Length; i++)
        {
            sb.Append(chars[random.Next(chars.Length)]);
        }
        return sb;
    }
    public static string InjectWordAtRandom(string str, string word)
    {
        var random = new Random();
        int start = random.Next(str.Length - word.Length);
        str.Remove(start, word.Length).Insert(start, word);
    }
}

提示:我已经提供了静态方法,但你不必这样做。尝试从方法头中删除static,并创建一个类的实例来访问它的属性。