代码清理提示

本文关键字:提示 代码 | 更新日期: 2023-09-27 17:59:52

有没有办法清理这个函数,我需要清理这个函数的代码,因为每次我都要初始化数组索引并给它值,有没有办法可以清理这个函数?每次我都在做同样的事情,只是更改类的columnId值、Column和值

private static GovernmentalSearchResult[] GetGovernmentalSearchResults(Result result)
        {
            GovernmentalSearchResult [] returnResult = new GovernmentalSearchResult[10];
            returnResult[0] = new GovernmentalSearchResult();
            returnResult[0].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.Duns;
            returnResult[0].SearchMetadataColumn=SearchMetadataColumnEnum.Duns;
            returnResult[0].Value=result.duns;
            returnResult[1] = new GovernmentalSearchResult();
            returnResult[1].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.legalBusinessName;
            returnResult[1].SearchMetadataColumn = SearchMetadataColumnEnum.legalBusinessName;
            returnResult[1].Value = result.legalBusinessName;

            returnResult[2] = new GovernmentalSearchResult();
            returnResult[2].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.CageCode;
            returnResult[2].SearchMetadataColumn = SearchMetadataColumnEnum.CageCode;
            returnResult[2].Value = result.cage;

            returnResult[3] = new GovernmentalSearchResult();
            returnResult[3].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.City;
            returnResult[3].SearchMetadataColumn = SearchMetadataColumnEnum.City;
            returnResult[3].Value = result.samAddress.city;

            returnResult[4] = new GovernmentalSearchResult();
            returnResult[4].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.Country;
            returnResult[4].SearchMetadataColumn = SearchMetadataColumnEnum.Country;
            returnResult[4].Value = result.samAddress.country;

            returnResult[5] = new GovernmentalSearchResult();
            returnResult[5].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.DelinquentFederalDebt;
            returnResult[5].SearchMetadataColumn = SearchMetadataColumnEnum.DelinquentFederalDebt;
            returnResult[5].Value = result.hasDelinquentFederalDebt.ToString();
            returnResult[6] = new GovernmentalSearchResult();
            returnResult[6].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.StateProvince;
            returnResult[6].SearchMetadataColumn = SearchMetadataColumnEnum.StateProvince;
            returnResult[6].Value = result.samAddress.stateOrProvince;
            returnResult[7] = new GovernmentalSearchResult();
            returnResult[7].SearchMetadataColumnId = (int)SearchMetadataColumnEnum.ZipCode;
            returnResult[7].SearchMetadataColumn = SearchMetadataColumnEnum.ZipCode;
            returnResult[7].Value = result.samAddress.zip;
            return returnResult;
        }

代码清理提示

使用函数返回GovernmentalSearchResult。您也可以使用Func<>

    public GovernmentalSearchResult CreateGovernmentalSearchResult(SearchMetadataColumnEnum searchMetadataColumnEnum, string value)
    {
        return new GovernmentalSearchResult
       {
           SearchMetadataColumnId = (int)searchMetadataColumnEnum,
           SearchMetadataColumn = searchMetadataColumnEnum,
           Value = value
       };
    }

然后你可以在你的代码中称之为:

GovernmentalSearchResult [] returnResult = new GovernmentalSearchResult[10];
returnResult[0] = CreateGovernmentalSearchResult(SearchMetadataColumnEnum.Duns, result.duns);