在遇到空格后,我想丢弃字符串中的剩余字符(可以是任何字符).
例如.我希望字符串"10 1/2"变为"10";
目前我正在使用Split,但这似乎有点矫枉过正:
string TrimMe = "10 1/2";
string[] cleaned = TrimMe.Split(new char[] {' '});
return string[0];
Run Code Online (Sandbox Code Playgroud)
我觉得应该有一个更简单的方法.
在阅读了最优秀的"Head First Design Patterns"一书之后,我开始向同事们传播模式和设计原则的好处.在颂扬我最喜欢的模式的优点 - 策略模式 - 我被问到一个让我停顿的问题.当然,策略使用继承和组合,当我的同事问"为什么使用抽象基类而不是具体的类?"时,我在其中一个关于"程序到接口(或超类型)而不是实现"的长篇大论. .
我只能提出"你强迫你的子类实现抽象方法并阻止它们实例化ABC".但说实话,这个问题让我想起了gaurd.
我知道有很多ActionBar问题,但它们似乎没有解决我的问题.我可以在我的模拟器中吐出ActionBar,但是当我在我的设备上运行我的程序(Nexus 7肖像模式)时,ActionBar将不会分裂.所有图标都堆积在顶部,甚至我的标签创建了一个下拉列表.我试图通过使菜单项名称非常长来强制解决问题,我确实将它们设置为:android:showAsAction ="always | withText".只是为了确定,我已经采用了示例代码,在模拟器上运行它看到它工作,然后把它放在我的设备上无济于事.这是我的清单:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme">
<activity
android:name=".MainActivity"
android:uiOptions="splitActionBarWhenNarrow"
android:label="@string/title_activity_main">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
我已经搜索过网络,但无法找到解决方案.任何帮助表示赞赏.
我使用扩展方法OrderBy和ThenBy在多个字段上对我的自定义集合进行排序.这种排序不会影响集合,而是返回和IEnumberable.我无法将IEnumerable结果转换为我的自定义集合.反正有没有改变我的集合的顺序或将IEnumerable结果转换为我的自定义集合?
我正在解决运输问题,无法跨越这个障碍.我无法将派生类StopsVisited转换为其基类Stops.基类Stops是Stop的集合.派生类StopsVisited是StopVisited的集合.
StopVisited元素派生自Stop(定义未显示).
我有一个非泛型的解决方法,我简单地从Stops派生StopsVisited,但是泛型为我提供了更多的felixibility.我试图将它简化为最简单的形式.
基础
public abstract class Stops<T> where T : Stop
{
}
Run Code Online (Sandbox Code Playgroud)
派生
public class StopsVisited : Stops<StopVisited>
{
}
Run Code Online (Sandbox Code Playgroud)
问题:
Stops<Stop> stops = new StopsVisited();
Run Code Online (Sandbox Code Playgroud)
给我一个
错误1无法将类型'StopsHeirarchy.StopsVisited'隐式转换为'StopsHeirarchy.Stops'
任何帮助表示赞赏.