I'd like to use ICU classes and methods from within a C# application - specifically the break interators and associated types. My guess is that I use DllImport to reference the ICU4C dll's but I'm not sure how to pass types like ICU strings. Will .NET marshall these for me? Are the libraries that come in the binary distribution COM compatible?
Have a look at ICU4NET:
ICU4NET provides binding for .NET language over ICU4C.
It sounds like it would be exactly what you need - if it works. Admittedly the last "release" was 0.0.3 and the last change was in August 2010, but it would still be a useful starting point, I'd suggest.
(You may find that it works as far as it's gone, but that as it's fulfilled everything the original author needed, that's as far as it went. If you could contribute changes to it as required, that would benefit future developers in the same position...)