Click here to Skip to main content
15,867,568 members
Home / Discussions / C#
   

C#

 
AnswerRe: VS2017 publish project to .exe without manifest files Pin
Dave Kreskowiak30-Jun-20 11:15
mveDave Kreskowiak30-Jun-20 11:15 
QuestionOptimize Linq To SQL Query Pin
Kevin Marois30-Jun-20 8:21
professionalKevin Marois30-Jun-20 8:21 
QuestionC# Pin
Member 1258896327-Jun-20 5:30
Member 1258896327-Jun-20 5:30 
AnswerRe: C# Generate a password dictionary to log into API Pin
OriginalGriff27-Jun-20 5:49
mveOriginalGriff27-Jun-20 5:49 
GeneralRe: C# Generate a password dictionary to log into API Pin
Member 1258896327-Jun-20 5:59
Member 1258896327-Jun-20 5:59 
GeneralRe: C# Generate a password dictionary to log into API Pin
OriginalGriff27-Jun-20 6:00
mveOriginalGriff27-Jun-20 6:00 
GeneralRe: C# Generate a password dictionary to log into API Pin
Dave Kreskowiak27-Jun-20 7:10
mveDave Kreskowiak27-Jun-20 7:10 
QuestionBest way to transform list and get top result from custom sort order? Pin
linalinea26-Jun-20 9:44
linalinea26-Jun-20 9:44 
Hi!

I am trying to find the best way to transform a list of objects and sort based on custom order:

I have a list of profile duplicates, and need to find "top" profile based on a priority order. The top profile need to be transformed into a new object with 3 properties. These 3 properties also dictate the sort order.

The 3 new enum-based properties are:

ProfileType with types (SuperUser > NormalUser > Beginner),
ProfileSubType with types (Internal > External),
ProfileValidity with types (Valid > ValidInFuture > Expire)

The properties are based on enums from an external source and are out of order, so I need to have my own custom sort for each of them.

So e.g. a prioritized list would look like:

{Superuser, Internal, Valid},
{Superuser, Internal, Expired},
{Superuser, External, Valid},
{Normaluser, Internal, Valid},
{Beginner, Internal, Expire}

Right now my solution is this:

C#
TransformedProfile = profileList.Select(x => new TransformedProfile
    {
    ProfileType = GetProfileType(x.PropertyA),
    ProfileSubType = GetProfileSubType(x.PropertyB),
    ProfileValidity = GetValidity(x.StartDate, x.ExpiryDate)
    })
    .OrderBy(y => typePriorityDict[y.ProfileType])
    .ThenBy(y => subTypePriorityDict[y.ProfileSubType])
    .ThenBy(y => validityPriorityDict[y.ProfileValidity])
    .FirstOrDefault();


The typePriorityDict, subTypePriorityDict, validityPriorityDict are dictionaries with my custom sort order.

This solution works ok and gives me the desired result. But I was wondering if there are more efficient ways of doing this?
AnswerRe: Best way to transform list and get top result from custom sort order? Pin
OriginalGriff26-Jun-20 11:28
mveOriginalGriff26-Jun-20 11:28 
GeneralRe: Best way to transform list and get top result from custom sort order? Pin
Richard Deeming29-Jun-20 0:21
mveRichard Deeming29-Jun-20 0:21 
AnswerRe: Best way to transform list and get top result from custom sort order? Pin
jsc4229-Jun-20 5:51
professionaljsc4229-Jun-20 5:51 
AnswerRe: Best way to transform list and get top result from custom sort order? Pin
linalinea3-Jul-20 9:59
linalinea3-Jul-20 9:59 
GeneralRe: Best way to transform list and get top result from custom sort order? Pin
OriginalGriff3-Jul-20 10:49
mveOriginalGriff3-Jul-20 10:49 
QuestionCustomizable keybinds C# Pin
Member 1486815919-Jun-20 14:28
Member 1486815919-Jun-20 14:28 
AnswerRe: Customizable keybinds C# Pin
OriginalGriff19-Jun-20 20:10
mveOriginalGriff19-Jun-20 20:10 
QuestionC# windows application: how to enable and disable scrollbars in datagridview programatically? Pin
Rajasekaran Bose17-Jun-20 23:53
Rajasekaran Bose17-Jun-20 23:53 
AnswerRe: C# windows application: how to enable and disable scrollbars in datagridview programatically? Pin
Richard MacCutchan18-Jun-20 0:41
mveRichard MacCutchan18-Jun-20 0:41 
QuestionAnyone working with the new VS2019 .Net NI-VISA driver? Pin
SunshineDesign16-Jun-20 15:58
SunshineDesign16-Jun-20 15:58 
AnswerRe: Anyone working with the new VS2019 .Net NI-VISA driver? Pin
Richard MacCutchan16-Jun-20 21:01
mveRichard MacCutchan16-Jun-20 21:01 
GeneralRe: Anyone working with the new VS2019 .Net NI-VISA driver? Pin
SunshineDesign17-Jun-20 7:00
SunshineDesign17-Jun-20 7:00 
AnswerRe: Anyone working with the new VS2019 .Net NI-VISA driver? Pin
Pawel Wzietek30-Jun-20 18:50
Pawel Wzietek30-Jun-20 18:50 
QuestionMultiple Classes, same name Pin
Wiep Corbier15-Jun-20 22:20
Wiep Corbier15-Jun-20 22:20 
AnswerRe: Multiple Classes, same name Pin
Richard Deeming15-Jun-20 22:31
mveRichard Deeming15-Jun-20 22:31 
GeneralRe: Multiple Classes, same name Pin
Wiep Corbier15-Jun-20 22:42
Wiep Corbier15-Jun-20 22:42 
GeneralRe: Multiple Classes, same name Pin
Richard Deeming15-Jun-20 22:47
mveRichard Deeming15-Jun-20 22:47 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.