簡體   English   中英

C#編程分配

[英]C# Programming Assignment

老師要我創建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\"");

我的問題是我不知道如何用字符串替換技巧使兩個文件的長度相等。 第二個文件將始終更長。

這是一種面向對象的方法。 我強調這種方法,因為您必須多次執行類似的操作(兩次)。 因此,您不應該重復自己(google DRY prinicpal)。

我不會告訴您如何使用這些方法,您可以自己了解一下:

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元素,並創建該類的實例以訪問其屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM