© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•3y ago•
13 replies
SWEETPONY

❔ How to rewrite this without second foreach?

static private IEnumerable<string> GetSubjectsCustomFields(
        IEnumerable<(string Id, string TypeId, CustomFieldsValueDto CustomFields)> subjects,
        IReadOnlySet<string> subjectIds,
        IEnumerable<ChannelSettingsDto> channelSettings)
    {
        var join = subjects
            .Where(subject => subjectIds.Contains(subject.Id))
            .Join(channelSettings,
                subject => subject.TypeId,
                setting => setting.SubjectType,
                (subject, setting) => (subject, setting));
        
        foreach (var tuple in join)
        {
            if (tuple.subject.CustomFields?.FieldValues != null
                 && tuple.subject.CustomFields.FieldValues
                     .TryGetValue( tuple.setting.CustomField, out var value))
            {
                yield return value.ToString();
            }
        }
    }
static private IEnumerable<string> GetSubjectsCustomFields(
        IEnumerable<(string Id, string TypeId, CustomFieldsValueDto CustomFields)> subjects,
        IReadOnlySet<string> subjectIds,
        IEnumerable<ChannelSettingsDto> channelSettings)
    {
        var join = subjects
            .Where(subject => subjectIds.Contains(subject.Id))
            .Join(channelSettings,
                subject => subject.TypeId,
                setting => setting.SubjectType,
                (subject, setting) => (subject, setting));
        
        foreach (var tuple in join)
        {
            if (tuple.subject.CustomFields?.FieldValues != null
                 && tuple.subject.CustomFields.FieldValues
                     .TryGetValue( tuple.setting.CustomField, out var value))
            {
                yield return value.ToString();
            }
        }
    }
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

❔ How to rewrite this to linq without multiple select?
C#CC# / help
3y ago
❔ Foreach
C#CC# / help
3y ago
❔ ✅ may someone help me to rewrite this in linq?
C#CC# / help
3y ago
✅ Remove Foreach
C#CC# / help
3y ago