小编Ush*_*her的帖子

为什么if条件不检查空值

我试图检查我的var中的null,但它抛出"对象引用未设置为对象的实例".

 private void GenerateImage()
    {
        //Webster.Client.Modules.Metadata.Helper test = new Webster.Client.Modules.Metadata.Helper();
         var selectedstory = Webster.Client.Modules.Metadata.Helper.SelectedStoryItem;

        if((selectedstory.Slug).Trim()!=null)
        {
         //if (!string.IsNullOrEmpty(selectedstory.Slug))
       //{

           if (File.Exists(pathToImage))
           {
              }
           else
           {
               this.dialog.ShowError("Image file does not exist at the specified location", null);
           }
       }
       else
       {
           this.dialog.ShowError("Slug is Empty,please enter the Slug name", null);
       }
    }
Run Code Online (Sandbox Code Playgroud)

我知道selectedstory.Slug有空值,这就是为什么我用if条件来检查,但是它在if条件下正好扔了.

有人可以建议检查什么是正确的方法.

.net c# string

2
推荐指数
3
解决办法
128
查看次数

在C#中使用Linq删除sql行

我试图从C#通过Linq删除一个sql表记录但是有些原因DeleteonSubmit没有被重新认识,我不确定我在这里缺少什么,请指导我正确的方法

这是我的代码

          proxy = new ServiceClient("basicHttp_IService");
        //GatewayService.ServiceClient proxy = new ServiceClient("basicHttp_IService");

        SearchCriteria criteria = new SearchCriteria();
        criteria.UserRoles = new string[] { "*" };

        var stories = proxy.GetStoryItemsByCriteria(criteria);
        var programs = proxy.GetPrograms();
        var Profiles = proxy.GetProfiles();
foreach(StoryProgram sp in lstStoriestoClose)
{
    try
    {
        DateTime LastUpdateTimestamp;
        DateTime CurrentTime = DateTime.Now;
        LastUpdateTimestamp = sp.Story.LastUpdatedOn;

        if ((CurrentTime - LastUpdateTimestamp).TotalHours > 24)
        {
            //Delete the story from database
            var storytoDelete = from story in stories
                                where story.Id == sp.Story.Id
                                select story;

            //I am trying to …
Run Code Online (Sandbox Code Playgroud)

c# sql linq

2
推荐指数
1
解决办法
4996
查看次数

只是好奇log4net日志详细信息

我使用Log4Net来记录我的应用程序,一切正常,我只想了解更多有关日志详细信息的信息.

这是我的日志:

2012-05-22 17:11:44,602 **[11]** ERROR Shell Exists - ignoreThe remote server returned an erro:
2012-05-29 15:48:11,876 **[32]** ERROR Shell Exists - ignoreThe remote server returned an error: (550) File unavailable (e.g., file not found, no access).
Run Code Online (Sandbox Code Playgroud)

这是我的配置:

<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net">
  <appendToFile value="true" />
  <maxSizeRollBackups value="30" />
  <maximumFileSize value="5MB" />
  <rollingStyle value="Size" />
  <staticLogFileName value="false" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <file value="c:\Error.log"/>
  <param name="AppendToFile" value="true"/>
  <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="ERROR"/>
    <param name="LevelMax" value="ERROR"/>
  </filter>
  <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%d [%t] %-2p …
Run Code Online (Sandbox Code Playgroud)

c# log4net

1
推荐指数
1
解决办法
1933
查看次数

返回字符串的最佳方式

我可能会因此得到负面评价,但仍然得到专家的一些评论或建议对我来说是更多的知识,所以这是我的问题。

这里我返回一个字符串

public static string mystring()
{ 
    return "test";
}
Run Code Online (Sandbox Code Playgroud)

有没有最好的方法来返回字符串或者我的返回有什么缺点?

c# properties

1
推荐指数
1
解决办法
116
查看次数

System.Data.DataRowCollection'不包含'ToList'的定义,也没有扩展方法'ToList'接受第一个参数

我真的很难解决这个问题

 public bool DeleteVegetationZone(ref Assessment objAssessment, int VegetationZoneIDToDelete, string UserFullname, ref string ErrorMessage)
    {
        string RowFilter = @"VegetationZoneID=" + Convert.ToString(VegetationZoneIDToDelete);
        Assessment.tblVegetationZoneRow[] VegetationZoneRows = (Assessment.tblVegetationZoneRow[])objAssessment.tblVegetationZone.Select(RowFilter);
        if ((VegetationZoneRows != null) && (VegetationZoneRows.Length != 0))
        {
            if (VegetationZoneRows.Length == 1)
            {
                if (VegetationZoneRows[0].VegetationZoneID > 0)
                {
                    VegetationZoneRows[0].UpdatedBySystemUser = UserFullname;
                    VegetationZoneRows[0].SaveType = (int)EnumCollection.SaveType.RemoveOnly;
                }
                else
                {
                    VegetationZoneRows[0].Delete();
                    objAssessment.AcceptChanges();
                }

                //tblThreatenedSpeciesSubzone

                var list = objAssessment.tblThreatenedSpeciesSubzone.Rows.ToList();
               for (int i = 0; i < objAssessment.tblThreatenedSpeciesSubzone.Count; i++)
                {

                    foreach (Assessment.tblThreatenedSpeciesSubzoneRow ThreatenedSpeciesSubzoneRow in objAssessment.tblThreatenedSpeciesSubzone.Rows)
                    {
                        if (ThreatenedSpeciesSubzoneRow.VegetationZoneID == VegetationZoneIDToDelete) …
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
2776
查看次数

无法加载MediaInfo库

在我的C#项目中使用Mediainfo库,在开始调用这个dll之前,我刚刚运行了包中附带的VC++程序并部署到我的本地system.am不确定它在部署时究竟做了什么,它在系统中注册了一些东西,所以我的进程可以识别mediainfo.dll,所以它在我的本地(32位)运行良好.

当我开始在Testserver中部署时,我无法运行或部署VC++(bcoz测试服务器除了调试器之外没有Visual Studio这样做.)我收到此错误

 public class MediaInfo
{
    //Import of DLL functions. DO NOT USE until you know what you do (MediaInfo DLL do NOT use CoTaskMemAlloc to allocate memory)  

    [DllImport("MediaInfo.dll")]
    private static extern IntPtr MediaInfo_New();


    //MediaInfo class

    public String Inform()
    {
        if (Handle == (IntPtr)0)
            return "Unable to load MediaInfo library";
        if (MustUseAnsi)
            return Marshal.PtrToStringAnsi(MediaInfoA_Inform(Handle, (IntPtr)0));
        else
            return Marshal.PtrToStringUni(MediaInfo_Inform(Handle, (IntPtr)0));
    }
    public String Get(StreamKind StreamKind, int StreamNumber, String Parameter, InfoKind KindOfInfo, InfoKind KindOfSearch)
    {
        if (Handle == (IntPtr)0)
            return "Unable …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
6985
查看次数

排序日期和时间

我试图编写一个控制台应用程序,根据开始日期按升序排序我的日期和时间,这是我要做的一个例子.

我的意见:

break Start1 = 15/02/12 12.30PM
break End1= 15/02/12 01.30PM
break Start2 = 15/02/12 11.00AM
break End2= 15/02/12 12.00PM
break Start3 = 15/02/12 12.00PM
break End3= 15/02/12 01.00PM

我期待我的输出应该像:

break Start1 = 15/02/12 11.00AM
break End1= 15/02/12 12.00PM
break Start2 = 15/02/12 12.00PM
break End2= 15/02/12 01.00PM
break Start3 = 15/02/12 12.30PM
break End3= 15/02/12 01.30PM

请建议我解决这个问题的最佳方法?

c#

0
推荐指数
1
解决办法
587
查看次数

标签 统计

c# ×7

.net ×1

linq ×1

log4net ×1

properties ×1

sql ×1

string ×1