C# Money Proration Function

Job ID: 40352342

Budget: $15 – $25 USD

I need a concise, well-documented C# function that accepts a total dollar amount and an in-memory collection of pre-defined percentage shares, then returns the exact amount that should go to each fund. The split must always be based on a percentage, never equally or by fixed figures, and the sum of the results must match the original total after any rounding is handled.

I will provide the list of fund names with their percentages; your code should validate that those percentages add up to 100 %. Please keep the logic isolated in a single static method (or a small utility class if you prefer) so I can drop it straight into an existing .NET project.

Deliverables
• Clean, readable C# source code with inline comments
• A brief usage example or small unit test set proving the math is correct and the total is preserved after rounding

If you can make this lightweight, dependency-free, and clearly tested, that’s exactly what I’m after.