创建一个结构来保持规模和速度对:
然后
public struct SizeSpeedKey
{
public string Size;
public int Speed;
public SizeSpeedKey(string size, int speed)
{
Size = size;
Speed = speed;
}
}
这将是查找代码:
using System;
using System.Collections.Generic;
namespace LookupTable
{
internal class Program
{
private static readonly Dictionary<SizeSpeedKey, double> lookupTable =
new Dictionary<SizeSpeedKey, double>
{
{new SizeSpeedKey("6x5", 500), 0.1},
{new SizeSpeedKey("6x5", 750), 0.5},
{new SizeSpeedKey("6x4", 500), 0.01},
{new SizeSpeedKey("6x4", 750), 0.1},
{new SizeSpeedKey("8x5", 500), 0.5},
{new SizeSpeedKey("8x5", 750), 0.9},
};
private static void Main(string[] args)
{
// these will of course need to be read from the user
var size = "6x4";
var speed = 500;
Console.WriteLine("For size = {0} and speed = {1}, the pressure will be {2}", size, speed, lookupTable[new SizeSpeedKey(size, speed)]);
Console.ReadLine();
}
}
}
这是行不通的。 SizeSpeedKey不实现IEquatable,因此字典如何比较键值? –
2009-05-21 22:28:51