using System.Collections.Generic;
public static void Main()
var lstStuff = new List<KeyValuePair<string,string>>() {
new KeyValuePair<string,string>( "dave", "shakespeare1" ),
new KeyValuePair<string,string>( "Dave", "shakespeare" ),
new KeyValuePair<string,string>( "shakespeare", "Shakespeare" ),
new KeyValuePair<string,string>( "SHAKESPEARE", "DAVE" ),
new KeyValuePair<string,string>( "SHAKESPEAREAN", "DAVID" ),
var sTerm = "shakespEAre";
var kvpFirstMatch = lstStuff.Where( x =>
x.Key .Equals( sTerm, StringComparison.OrdinalIgnoreCase ) ||
x.Value.Equals( sTerm, StringComparison.OrdinalIgnoreCase )
if ( kvpFirstMatch.Key == null ) {
Console.WriteLine( "NO MATCH" );
Console.WriteLine( String.Format( "Key: {0}, Value: {1}", kvpFirstMatch.Key, kvpFirstMatch.Value ));