English 中文(简体)
C#.net 投问
原标题:C# .net casting question
  • 时间:2010-01-14 16:03:31
  •  标签:
  • c#
  • .net

我对以下一点感到困惑。

考虑到这一类别:

    public class SomeClassToBeCasted
    {
        public static implicit operator string(SomeClassToBeCasted rightSide)
        {
            return rightSide.ToString();
        }
    }

在我试图做以下工作时,为什么有人投掷了英勇的欺骗?

IList<SomeClassToBeCasted> someClassToBeCastedList 
     = new List<SomeClassToBeCasted> {new SomeClassToBeCasted()};
IEnumerable<string> results = someClassToBeCastedList.Cast<string>();

foreach (var item in results)
{
     Console.WriteLine(item.GetType());
}
最佳回答

由于Cast()t 处理用户指定投放物,只处理参考转换(即,参照等级或缩小继承等级的正常转换)和箱子/箱式转换。 这与投放者在来源法中将做些什么不同。 不幸的是,这只字塔有明确记载:

EDIT:就把Jason的评论带入该职位而言,你可以很容易地通过预测来完成这一工作:

IEnumerable<string> results = originalList.Select(x => (string) x);
问题回答

如果只有名单需要,你才能这样做。

IEnumerable<string> results =
        someClassToBeCastedList.Select(itm => itm.ToString());

相反。

你们可以利用这个办法解决类似的问题,帮助你们。

IE 无数结果=原List.Select(x => (string) x);





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签